Чтобы вызвать повторный код, создайте main функция, которая:
Включает заголовочный файл primary_function_name.h.
Для каждого потока выделяет память для глобальной структуры выделения памяти primary_function_nameStackData.
Если алгоритм использует постоянные или глобальные данные, выделяет память для глобальной структуры primary_function_namePersistentData. Если потоки взаимодействуют, выделите эту память один раз для корневого процесса. В противном случае можно выделять память на каждый поток.
Содержит функцию потока, которая вызывает эти функции:
primary_function_name_initialize.
primary_function_name.
primary_function_name_terminate.
При преобразовании MATLAB® функция на библиотечную функцию C/C + + или исполняемый файл C/C + +, MATLAB Coder™ генерирует две функции домашнего хозяйства. Вызовите эти функции в коде, который вызывает сгенерированную функцию C/C + +. Дополнительные сведения см. в разделе Развертывание сгенерированного кода.
Инициализирует каждый поток и передает указатель на структуру выделения памяти в качестве первого параметра на функцию потока.
Освобождает память, используемую для глобальных структур.
| Тип повторяющегося кода | Платформа | Ссылка |
|---|---|---|
| Многопоточные без постоянных или глобальных данных | Windows® | Сгенерируйте входящий код С из кода MATLAB |
| UNIX® | Вызов входящего кода без постоянных или глобальных данных (только для UNIX) | |
| Многопоточные с постоянными или глобальными данными | Windows | Входящий код вызова - многопоточный с постоянными данными (только для Windows) |
| UNIX | Входящий код вызова - многопоточный с постоянными данными (только для UNIX) |