Генерация и вызов входящего кода

Сгенерируйте и вызовите входящий код для одно- или многопоточных окружений

По умолчанию сгенерированный код создает static переменные для переменных, размер которых превышает максимальное значение использования стека, сохраненные в строение настройке объекта StackUsageMax. Данные в static переменные сохраняются между вызовами функций. Точно так же данные для MATLAB® глобалы и персистенты существуют между вызовами функций. Поэтому, если ваша основная функция выполняет сгенерированный код в нескольких потоках, могут возникнуть неопределенные условия расы.

Чтобы сгенерировать код, более подходящий для одновременного выполнения в нескольких потоках, можно использовать MultiInstanceCode опция строения. Когда вы используете эту опцию, сгенерированный код переносит данные, которые могут превысить локальное хранилище потоков, в определение структуры, чтобы можно было выделять безопасную для потоков память для этой структуры по отдельности. Точно так же генератор кода переносит постоянные и глобальные данные в свою собственную структуру памяти. Когда эта память не должна быть общей, можно выделить отдельную память для структур данных, используемых потоком.

Темы

Основы повторно входящего кода

Повторный код

Повторный код является переиспользуемой стандартной программой программирования, которую одновременно могут использовать несколько программ.

API для сгенерированного повторно используемого кода

Используйте сгенерированный переиспользуемый код.

Задайте генерацию повторяющегося кода

Сгенерируйте повторный код в приложении MATLAB Coder™ или в командной строке.

Вызов входящего кода в однопоточном окружении

Используйте сгенерированный входящий код в однопоточном окружении.

Вызов входящего кода в многопоточном окружении

Используйте сгенерированный повторно входящий код в многопоточном окружении.

Рабочие процессы

Сгенерируйте входящий код С из кода MATLAB

Сгенерируйте переиспользуемый, повторяющийся код С

Вызов входящего кода без постоянных или глобальных данных (только для UNIX)

Сгенерируйте повторный код, который использует POSIX-библиотеки потоков (pthread).

Входящий код вызова - многопоточный с постоянными данными (только для Windows)

Сгенерируйте повторный код, который использует библиотеки, специфичные для Windows® платформы.

Входящий код вызова - многопоточный с постоянными данными (только для UNIX)

Сгенерируйте повторный код, который использует POSIX-библиотеки потоков (pthread).