Назовите тип структуры C, который будет использоваться с переменной глобальной структуры

В этом примере показано, как назвать тип структуры C для использования в коде, сгенерированном для глобальной структуры.

Чтобы назвать тип структуры C, используемый для структурной переменной, используйте coder.cstructname. Однако применить нельзя coder.cstructname непосредственно к глобальной переменной внутри функции. Вместо этого укажите имя типа структуры C одним из следующих способов:

  • В командной строке используйте coder.cstructname для создания объекта-типа с именем типа структуры С. Когда бегаешь codegen, укажите, что глобальная переменная имеет этот тип.

  • В приложении MATLAB ® Coder™ после определения и инициализации глобальной переменной укажите имя типа структуры C в диалоговом окне свойств структуры.

Можно также использовать эти подходы, чтобы назвать тип структуры C для глобального массива ячеек.

Написание функции MATLAB, которая использует глобальную переменную

Написание функции MATLAB ® getmyfield который возвращает поле a глобальной переменной g.

type getmyfield
function y = getmyfield()
% Copyright 2018 The MathWorks, Inc.
%#codegen

global g;
y = g.a;
end

Задайте имя типа структуры C в командной строке

  1. Определите и инициализируйте глобальную структуру g.

  2. Использование coder.cstructname для создания объекта типов T который имеет свойства g и называет сгенерированный тип структуры C mytype.

  3. Сгенерируйте код для getmyfield, указывая, что g - глобальная переменная с типом T.

global g
g = struct('a',5);
T = coder.cstructname(g,'mytype');
codegen -config:lib -globals {'g',T} getmyfield
Code generation successful.

В сгенерированном коде g имеет тип mytype.

mytype g;

Сгенерированный тип структуры C mytype является:

typedef struct {
  double a;
} mytype;

Укажите имя типа структуры C в приложении MATLAB Coder

  1. Откройте приложение MATLAB Coder и укажите, что вы хотите сгенерировать код для getmyfields.

  2. На странице Define Input Types нажмите Add global.

  3. Щелкните поле рядом с глобальной переменной g. Затем нажмите Define Initial Value.

  4. Введите struct('a',5).

  5. Чтобы задать имя типа структуры C для gщелкните значок передачи.

  6. В диалоговом окне « Свойствах» рядом с именем определения типа C введите mytype.

Кроме того, если вы определили g или тип, объект для g в рабочей области можно ввести g или объект type в качестве начального значения.

См. также

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте