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

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

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

  • В командной строке используйте coder.cstructname создать текстовый объект, который называет тип структуры C. Когда вы запускаете 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

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

mytype g;

Сгенерированная структура C вводит mytype :

typedef struct {
  double a;
} mytype;

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

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

  2. На странице Define Input Types Нажмите глобальную переменную Add.

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

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

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

  6. В диалоговом окне Properties, рядом с C вводят имя определения, вводят mytype.

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

Смотрите также

Похожие темы

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