Вызовите внешнюю функцию C/C++
coder.ceval( выполняет внешнюю функцию C/C++, заданную cfun_name)cfun_name. Задайте cfun_name во внешнем исходном файле C/C++ или библиотеке. Обеспечьте внешний источник, библиотеку и заголовочные файлы к генератору кода.
coder.ceval( выполняет cfun_name,cfun_arguments)cfun_name с аргументами cfun_arguments. cfun_arguments список, разделенный запятыми входных параметров в порядке что cfun_name требует.
По умолчанию, coder.ceval аргументы передач значением на C/C++ функционируют каждый раз, когда поддержки C/C++ передающие аргументы значением. Сделать coder.ceval передайте аргументы ссылкой, используйте построения coder.ref, coder.rref, и coder.wref. Если C/C++ не поддерживает передающие аргументы значением, например, если аргумент является массивом, coder.ceval аргументы передач ссылкой. Если вы не используете coder.ref, coder.rref или coder.wref, копия аргумента, может казаться, в сгенерированном коде осуществляет семантику MATLAB® для массивов.
coder.ceval( выполняет '-global',cfun_name)cfun_name и указывает на тот cfun_name использование одна или несколько глобальных переменных MATLAB. Генератор кода может затем произвести код, который сопоставим с этим использованием глобальной переменной.
coder.ceval( выполняет '-global',cfun_name,cfun_arguments)cfun_name с аргументами cfun_arguments и указывает на тот cfun_name использование одна или несколько глобальных переменных MATLAB.
coder.ceval( позволяет вам вызывать CUDA® GPU '-gpudevicefcn',devicefun_name,devicefun_arguments)__device__ функции из ядер. '-gpudevicefcn' указывает к coder.ceval то, что целевая функция находится на устройстве графического процессора. devicefun_name имя __device__ функция и devicefun_arguments список, разделенный запятыми входных параметров в порядке что devicefun_name требует. Эта опция требует продукта GPU Coder™.
coder.ceval( выполняет '-layout:rowMajor',cfun_name,cfun_arguments)cfun_name с аргументами cfun_arguments и данные о передачах хранимы в упорядоченном по строкам размещении. Когда названо от функции, которая использует упорядоченное по столбцам размещение, генератор кода преобразует входные параметры в упорядоченное по строкам размещение и преобразует выходные параметры назад в упорядоченное по столбцам размещение. Для более короткого синтаксиса используйте coder.ceval('-row',...).
coder.ceval( выполняет '-layout:columnMajor',cfun_name,cfun_arguments)cfun_name с аргументами cfun_arguments и данные о передачах хранимы в упорядоченном по столбцам размещении. Когда названо от функции, которая использует упорядоченное по строкам размещение, генератор кода преобразует входные параметры в упорядоченное по столбцам размещение и преобразует выходные параметры назад в упорядоченное по строкам размещение. Для более короткого синтаксиса используйте coder.ceval('-col',...).
coder.ceval( выполняет '-layout:any',cfun_name,cfun_arguments)cfun_name с аргументами cfun_arguments и данные о передачах с его размещением современного массива, даже когда размещения массивов не соответствуют. Генератор кода не преобразует размещение массивов данных о вводе или выводе.
cfun_return = coder.ceval(___) выполняет cfun_name и возвращает одно скалярное значение, cfun_return, соответствие значению, которое функция C/C++ возвращает в return оператор. Быть сопоставимым с C/C++, coder.ceval может возвратить только скалярное значение. Это не может возвратить массив. Используйте эту опцию с любыми комбинациями входных аргументов в предыдущих синтаксисах.
Вы не можете использовать coder.ceval на функциях, что вы объявляете значение внешних параметров с coder.extrinsic.
Когда компилятор LCC создает библиотеку, он добавляет начальный символ подчеркивания в имена библиотечной функции. Если бы компилятор для библиотеки был LCC, и ваш компилятор генерации кода не является LCC, необходимо добавить начальный символ подчеркивания в имя функции, например, coder.ceval('_mylibfun'). Если компилятор для библиотеки не был LCC, вы не можете использовать LCC, чтобы сгенерировать код из кода MATLAB, который вызывает функции от той библиотеки. Те имена библиотечной функции не имеют начального символа подчеркивания, которого требует компилятор LCC.
Если свойство имеет получить метод, метод установки или блоки проверки допустимости, или является Системой object™ свойство с определенными атрибутами, то вы не можете передать свойство в отношении внешней функции. Смотрите Передачу Ссылкой, Не Поддержанной для Некоторых Свойств.
Для генерации кода, прежде, чем вызвать coder.ceval, необходимо задать тип, размер и тип данных сложности возвращаемых значений и выходных аргументов.
Применять coder.ceval к функции, которая принимает или возвращает переменные, которые не существуют в коде MATLAB, таком как указатели, FILE типы для файлового ввода-вывода и макросы C/C++, используют coder.opaque функция.
Используйте coder.ceval только в MATLAB для генерации кода. coder.ceval генерирует ошибку в нескомпилированном коде MATLAB. Чтобы определить, выполняется ли функция MATLAB в MATLAB, используйте coder.target. Если функция выполняется в MATLAB, вызовите версию MATLAB функции C/C++.
codegen | coder.ExternalDependency | coder.columnMajor | coder.extrinsic | coder.opaque | coder.ref | coder.rowMajor | coder.rref | coder.target | coder.updateBuildInfo | coder.wref