Можно использовать S-функции в режиме Run in Kernel, когда S-функции являются автономными. Например, S-функции только вызывают ограниченное подмножество стандартной библиотеки для C, такой как математика и строковые функции и не вызывают файловый ввод-вывод, консоль I/O или Windows API functions. Пример не сам содержавшая S-функция была бы функцией, для которой нужно к #include <windows.h>
.
Обратите внимание на то, что способность симулировать S-функцию с другими целями генерации кода — такими как grt.tlc
, ert.tlc
, или slrealtime.tlc
— не делает доказывания, что это может быть симулировано с sldrt.tlc
. Например, S-функции, которые соединяются с динамически подключаемыми библиотеками (DLLs) на Windows обычно, не симулируют с Simulink® Desktop Real-Time™, потому что DLLs не доступны для ядра реального времени.
В частности, следующие функции не поддерживаются в исходном коде C:
Файловый ввод-вывод (fopen
и другие)
Управление процессами (spawn
выход
, и другие)
Сигналы и исключения (signal
, longjmp
, __try
и другие)
Функции времени (clock
и другие)
Любые функции от Windows API
Следующие библиотечные функции C поддерживаются для использования с Simulink Desktop Real-Time:
Функции преобразования данных: abs
, atof
, atoi
, atol
, itoa
, labs
, ltoa
, strtod
, strtol
, strtoul
, ultoa
,
Функции выделения памяти: calloc
, free
, malloc
,
Функции манипуляции с памятью: _memccpy
, memcpy
, memchr
, memcmp
, _memicmp
, memmove
, memset
,
Функции обработки строк: strcat
, strchr
strcmp
, strcpy
, strcspn
, _strdup
, _stricmp
strlen
, _strlwr
, strncat
strncmp
, strncpy
, _strnset
, strpbrk
, strrchr
, _strrev
, _strset
, strspn
, strstr
strtok
, _strupr
,
Математические функции: acos
asin
atan
atan2
потолок
потому что
дубинка
, div
exp
, fabs
пол
, fmod
, frexp
, ldexp
, ldiv
журнал
log10
Max
min
, modf
, pow
rand
, sin
sinh
sqrt
, srand
tan
tanh
, uldiv
,
Тесты класса символов и преобразование: isalnum
, isalpha
, _isascii
, iscntrl
, isdigit
, isgraph
, islower
, isprint
, ispunct
isspace
, isupper
, isxdigit
, isxupper
, isxlower
toAscii
, tolower
, toupper
,
Поиск и сортировка: bsearch
, qsort
,
Фиктивные функции - (может быть там, но ничего не сделать), exit
,
Консольный ввод-вывод: fprintf
, printf
,