exponenta event banner

Определение переменных для создания кода

В языке MATLAB ® переменные могут динамически изменять свои свойства во время выполнения, чтобы использовать одну и ту же переменную для хранения значения любого класса, размера или сложности. Например, в MATLAB работает следующий код:

function x = foo(c) %#codegen
if(c>0)
  x = 0;
else
  x = [1 2 3];
end
disp(x);
end 

Однако статически типизированные языки, такие как C, должны иметь возможность определять переменные свойства во время компиляции. Поэтому для генерации кода C/C + + необходимо явно определить класс, размер и сложность переменных в исходном коде MATLAB перед их использованием. Например, перепишите вышеупомянутый исходный код с определением для x:

function x = foo(c) %#codegen
x = zeros(1,3);
if(c>0)
  x = 0;
else
  x = [1 2 3];
end
disp(x);
end 

Дополнительные сведения см. в разделе Рекомендации по определению переменных для генерации кода C/C + +.