我正在为一个有多个变量大小数组的函数生成代码。需要在Linux(使用gcc)和Windows机器(使用MinGW)上编译代码。
为了"确保容量",Matlab创建了几个计数器变量,命名为i349、i350,...,i386,...,i400。显然,Windows编译器不喜欢这样做。它会抛出两个错误:
line x: error: expected identifier or '(' before numeric constant
line y: error: lvalue required as left operand of assignment
line y+1: error: lvalue required as increment operand
通过手动选择其他变量名,所有这些问题都可以解决。虽然我也可以使用一些脚本来自动执行此操作,但我宁愿避免这样做。
两个问题:
为什么这些变量名会导致编译器出现问题?
如何告诉Matlab不要生成这些名称的变量?