fiaccel разрешает вызовы функций путем поиска сначала по пути генерации кода, а затем по пути MATLAB ®. По умолчанию fiaccel пытается скомпилировать и сгенерировать код для функций, найденных на пути, если функция не объявлена как внешняя. Внешняя функция - это функция на пути MATLAB, которая отправляется программному обеспечению MATLAB для выполнения. fiaccel не компилирует внешние функции, а отправляет их в MATLAB для выполнения.
MATLAB применяет правила именования для функций и созданных файлов.
MATLAB резервирует префикс eml для глобальных C-функций и переменных в сгенерированном коде. Например, имена функций библиотеки времени выполнения начинаются с префикса emlrt, такие как emlrtCallMATLAB. Во избежание конфликтов имен не называйте функции C или основные функции MATLAB префиксом eml.
Программное обеспечение MATLAB Coder™ резервирует определенные слова для собственного использования в качестве ключевых слов сгенерированного языка кода. Ключевые слова кодера MATLAB зарезервированы для использования внутри программного обеспечения кодера MATLAB и не должны использоваться в коде MATLAB в качестве идентификаторов или имен функций. Зарезервированные ключевые слова C также не должны использоваться в коде MATLAB в качестве идентификаторов или имен функций. Если код MATLAB содержит зарезервированные ключевые слова, которые генератор кода не может переименовать, создание кода не завершается, и отображается сообщение об ошибке. Чтобы устранить эту ошибку, измените код, чтобы использовать нерезервированные идентификаторы или имена.
При создании кода C++ с помощью программного обеспечения MATLAB Coder, кроме того, код MATLAB не должен содержать зарезервированные ключевые слова C++.
Зарезервированные ключевые слова C
assert | extern | setjmp | string |
auto | fenv | short | struct |
break | float | signal | switch |
case | for | signed | tgmath |
char | goto | sizeof | threads |
const | if | static | time |
complex | int | stdalign | typedef |
continue | inttypes | stdarg | uchar |
ctype | iso646 | stdatomic | union |
default | limits | stdbool | unsigned |
do | locale | stddef | void |
double | long | stdint | volatile |
else | math | stdio | wchar |
enum | register | stdlib | wctype |
errno | return | stdnoreturn | while |
Зарезервированные ключевые слова C++
algorithm | cstddef | iostream | sstream |
any | cstdint | istream | stack |
array | cstdio | iterator | static_cast |
atomic | cstdlib | limits | stdexcept |
bitset | cstring | list | streambuf |
cassert | ctgmath | locale | string_view |
catch | ctime | map | strstream |
ccomplex | cuchar | memory | system_error |
cctype | cwchar | memory_resource | template |
cerrno | cwctype | mutable | this |
cfenv | delete | mutex | thread |
cfloat | deque | namespace | throw |
chrono | dynamic_cast | new | try |
cinttypes | exception | numeric | tuple |
ciso646 | execution | operator | typeid |
class | explicit | optional | type_traits |
climits | export | ostream | typeindex |
clocale | filesystem | private | typeinfo |
cmath | foreward_list | protected | typename |
codecvt | friend | public | unordered_map |
complex | fstream | queue | unordered_set |
condition_variable | functional | random | using |
const_cast | future | ratio | utility |
csetjmp | initializer_list | regex | valarray |
csignal | inline | reinterpret_cast | vector |
cstdalign | iomanip | scoped_allocator | virtual |
cstdarg | ios | set | wchar_t |
cstdbool | iosfwd | shared_mutex |
Зарезервированные ключевые слова для создания кода
abs | fortran | localZCE | rtNaN |
asm | HAVESTDIO | localZCSV | SeedFileBuffer |
bool | id_t | matrix | SeedFileBufferLen |
boolean_T | int_T | MODEL | single |
byte_T |
int8_T | MT | TID01EQ
|
char_T | int16_T | NCSTATES | time_T |
cint8_T | int32_T | NULL | true |
cint16_T | int64_T | NUMST | TRUE |
cint32_T | INTEGER_CODE | pointer_T | uint_T |
creal_T | LINK_DATA_BUFFER_SIZE | PROFILING_ENABLED
| uint8_T |
creal32_T | LINK_DATA_STREAM | PROFILING_NUM_SAMPLES | uint16_T |
creal64_T | localB | real_T | uint32_T |
cuint8_T | localC | real32_T | uint64_T |
cuint16_T | localDWork | real64_T | UNUSED_PARAMETER |
cuint32_T | localP | RT | USE_RTMODEL
|
ERT | localX | RT_MALLOC
| VCAST_FLUSH_DATA |
false | localXdis | rtInf | vector |
FALSE | localXdot | rtMinusInf |
MATLAB предоставляет специфичные для платформы расширения для файлов MEX.
| Платформа | Расширение файла MEX |
|---|---|
| Linux ® x86-64 | .mexa64 |
| Windows ® (32-разрядная версия) | .mexw32 |
| Windows x64 | .mexw64 |