用于代码生成的变量定义
在 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