Инфраструктура файла и 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++.

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
(32-битный) Windows®.mexw32
Windows x64.mexw64