Setup файловой инфраструктуры и путей

Скомпилируйте порядок поиска пути

fiaccel разрешает вызовы функций путем поиска сначала по пути генерации кода, а затем по MATLAB® путь. По умолчанию, fiaccel пытается скомпилировать и сгенерировать код для функций, которые он находит на пути, если вы явным образом не объявите функцию внешней. extrinsic function является функцией на пути MATLAB, которая отправляется в программное обеспечение MATLAB для выполнения. fiaccel не компилирует внешние функции, а скорее отправляет их на выполнение в MATLAB.

Соглашения об именовании

MATLAB применяет соглашения об именовании для функций и сгенерированных файлов.

Зарезервированные префиксы

MATLAB резервирует префикс eml для глобальных функций и переменных C в сгенерированном коде. Например, имена функции библиотеки во время выполнения начинаются с префикса emlrt, таких как emlrtCallMATLAB. Чтобы избежать конфликтов по совпадению имен, не называйте функции C или основные функции MATLAB с помощью префикса eml.

Зарезервированные ключевые слова

MATLAB Coder™ программное обеспечение сохраняет определенные слова для собственного использования в качестве ключевых слов сгенерированного языка кода. Ключевые слова MATLAB Coder зарезервированы для использования внутри программного обеспечения MATLAB Coder и не должны использоваться в коде MATLAB в качестве идентификаторов или имен функции. C зарезервированные ключевые слова также не должны использоваться в коде MATLAB в качестве идентификаторов или имен функции. Если ваш код MATLAB содержит зарезервированные ключевые слова, которые генератор кода не может переименовать, сборка генерации кода не завершается и отображается сообщение об ошибке. Чтобы устранить эту ошибку, измените код, используя идентификаторы или имена, которые не зарезервированы.

Если вы генерируете Код С++ с помощью программного обеспечения MATLAB Coder, в сложение, ваш код MATLAB не должен содержать ключевые слова C++ Reserved.

Зарезервированные ключевые слова на C

assertexternsetjmpstring
autofenvshortstruct
breakfloatsignalswitch
caseforsignedtgmath
chargotosizeofthreads
constifstatictime
complexintstdaligntypedef
continueinttypesstdarguchar
ctypeiso646stdatomicunion
defaultlimitsstdboolunsigned
dolocalestddefvoid
doublelongstdintvolatile
elsemathstdiowchar
enumregisterstdlibwctype
errnoreturnstdnoreturnwhile

C++ Зарезервированные ключевые слова

algorithmcstddefiostreamsstream
anycstdintistreamstack
arraycstdioiteratorstatic_cast
atomiccstdliblimitsstdexcept
bitsetcstringliststreambuf
cassertctgmathlocalestring_view
catchctimemapstrstream
ccomplexcucharmemorysystem_error
cctypecwcharmemory_resourcetemplate
cerrnocwctypemutablethis
cfenvdeletemutexthread
cfloatdequenamespacethrow
chronodynamic_castnewtry
cinttypesexceptionnumerictuple
ciso646executionoperatortypeid
classexplicitoptionaltype_traits
climitsexportostreamtypeindex
clocalefilesystemprivatetypeinfo
cmathforeward_listprotectedtypename
codecvtfriendpublicunordered_map
complexfstreamqueueunordered_set
condition_variablefunctionalrandomusing
const_castfutureratioutility
csetjmpinitializer_listregexvalarray
csignalinlinereinterpret_castvector
cstdaligniomanipscoped_allocatorvirtual
cstdargiossetwchar_t
cstdbooliosfwdshared_mutex 

Зарезервированные ключевые слова для генерации кода

absfortranlocalZCErtNaN
asmHAVESTDIOlocalZCSVSeedFileBuffer
boolid_tmatrixSeedFileBufferLen
boolean_Tint_TMODELsingle
byte_T int8_TMTTID01EQ
char_Tint16_TNCSTATEStime_T
cint8_Tint32_TNULLtrue
cint16_Tint64_TNUMSTTRUE
cint32_TINTEGER_CODEpointer_Tuint_T
creal_TLINK_DATA_BUFFER_SIZEPROFILING_ENABLED uint8_T
creal32_TLINK_DATA_STREAMPROFILING_NUM_SAMPLESuint16_T
creal64_TlocalBreal_Tuint32_T
cuint8_TlocalCreal32_Tuint64_T
cuint16_TlocalDWorkreal64_TUNUSED_PARAMETER
cuint32_TlocalPRTUSE_RTMODEL
ERTlocalXRT_MALLOC VCAST_FLUSH_DATA
falselocalXdisrtInfvector
FALSElocalXdotrtMinusInf 

Соглашения для именования сгенерированных файлов

MATLAB предоставляет специфичные для платформы расширения для файлов MEX.

ПлатформаРасширение файла MEX
Linux® x86-64.mexa64
Windows® (32-разрядный).mexw32
Windows x64.mexw64