我必须使用外国 C 代码(最初在嵌入式硬件上运行)在 PC 上工作,不允许修改。
一个 .h 文件中的一些变量声明如下所示:
extern int variableA;
extern variableB;
extern variableC+0;
- 变量A声明清晰。
- 变量B的声明通过了编译器,类型被假定为一个int。
- 变量 C 的声明失败。
问题: variableC 的声明使用了什么样的语法?我怎样才能让编译器接受它(不允许修改代码)?这甚至是有效的 C 语法吗?
项目使用的编译器是VS2008内部编译器。
更新:
我追溯了包含,没有#define 改变了语法。仅供引用,该代码来自机载硬件,并且可以正确编译(使用硬件编译器)。该变量在我可用的代码部分中用作常规变量:
variableC+0 = otherVar;
感谢您的回复,这似乎真的是无效的标准 C 代码,只适用于特定的编译器。
最佳答案
这种语法在 C 标准中没有任何意义。
关于c - ANSI C 变量声明语法 "+0"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11935685/