Этот пример показывает, как вызвать сгенерированную библиотечную функцию C от кода С. Это использует статическую библиотечную функцию C absval, описанный в Вызове C/C++ Статическая Библиотечная функция из кода MATLAB.
Напишите функцию main в C, который делает следующее:
Включает сгенерированный заголовочный файл, который содержит прототипов функции для библиотечной функции.
Вызывает инициализировать функцию прежде, чем вызвать библиотечную функцию впервые.
Вызывает оконечную функцию после вызова библиотечной функции в последний раз.
Вот пример функции main C, которая вызывает библиотечную функцию absval:
/*
** main.c
*/
#include <stdio.h>
#include <stdlib.h>
#include "absval.h"
int main(int argc, char *argv[])
{
absval_initialize();
printf("absval(-2.75)=%g\n", absval(-2.75));
absval_terminate();
return 0;
}
Сконфигурируйте свою цель, чтобы интегрировать эту пользовательскую основную функцию C с вашим сгенерированным кодом, как описано в Конфигурируют Сборку для Внешнего Кода C/C++.
Например, можно задать объект настройки, который указывает на пользовательский код С:
Создайте объект настройки. В MATLAB® запрашивают, введите:
cfg = coder.config('exe');Установите свойства пользовательского кода на объекте настройки, как в этих командах в качестве примера:
cfg.CustomSource = 'main.c'; cfg.CustomInclude = 'c:\myfiles';
Сгенерируйте исполняемый файл C. Используйте опцию -args, чтобы указать, что вход является действительным, скалярным дважды. В посдказке MATLAB, введите:
codegen -config cfg absval -args {0}Вызовите исполняемый файл. Например:
absval(-2.75)