gpt4 book ai didi

c - 由 Matlab Coder 生成的名为 i386 的变量

转载 作者:行者123 更新时间:2023-12-01 11:11:11 24 4
gpt4 key购买 nike

我正在为具有多个可变大小数组的函数生成代码。代码需要在 linux(使用 gcc)和 windows 机器(使用 MinGW)中编译。

为了“确保这些变量的容量”,Matlab 创建了几个计数器变量,命名为 i349i350、...、i386, ... i400。显然,Windows 编译器不喜欢这样。它抛出两个错误:

第 x 行:错误:数字常量前需要标识符或“(”

第 y 行:错误:左值需要作为赋值的左操作数

第 y+1 行:错误:需要左值作为递增操作数

这些都是通过手动选择其他变量名来解决的。虽然我可以使用一些脚本来自动执行此操作,但我宁愿避免使用它。

两个问题:

  1. 为什么这些变量名会导致编译器出现问题?

  2. 如何告诉 Matlab 不要生成具有这些名称的变量?

最佳答案

Why does these variable names cause a problem with the compiler?

这些是编译器预定义的宏。这是非标准行为,但这用于确定代码正在为哪个系统编译时的向后兼容性。

How can I tell Matlab not to generate variables with these names?

你不想。相反,将 -std=c... 选项传递给编译器,使其在符合标准的模式下运行。

关于c - 由 Matlab Coder 生成的名为 i386 的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60211900/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com