Встроенные функции Matlab в Simulink: Беззаголовковый coder.cinclude() для пользовательских функций C/C++

Хорошо известно, что вы можете использовать coder.ceval(...) совместно с coder.cinclude(...) для запуска внешних функций C/C++ из встроенных функций Matlab:

Менее известно, что вы можете включить код C/C++ “инлайн” в вызове coder.cinclude(), хотя это несколько искусственный приём. Это очень полезно, чтобы не управлять заголовочными файлами.

Обратите внимание, что при компиляции вашей модели Simulink/Matlab coder всё равно должен проверить, компилируется ли она правильно, поэтому вам нужно обеспечить возможность “автономной” компиляции вашего кода.

Помните, что абсолютно необходимо использовать фиктивный include <math.h> для завершения строки #include!

Это сгенерирует следующий код в заголовочном файле:

и, при достаточном уровне комментариев, это код из сгенерированного файла .cpp


Check out similar posts by category: MATLAB/Simulink