我必须使用外部C代码(最初在嵌入式硬件上运行)在PC上工作,我不允许修改。
一个.h文件中的一些变量声明如下所示:
extern int variableA;
extern variableB;
extern variableC+0;
问题: 什么样的语法用于variableC的声明?如何让编译器接受它(不允许代码修改)?这甚至是一种有效的C语法吗?
用于该项目的编译器是VS2008内部编译器。
更新
我追溯了包含,而#define没有改变这种语法。仅供参考,该代码来自机载硬件,并且可以正确编译(使用HW的编译器)。该变量在我可用的代码部分中用作常规变量:
variableC+0 = otherVar;
感谢您的回复,这实际上似乎是无效的标准C代码,仅适用于该特定编译器。
答案 0 :(得分:0)
这种语法在C标准中没有任何意义。
答案 1 :(得分:0)
根据MSDN,这是无效的语法。
identifier:
nondigit
identifier nondigit
identifier digit
nondigit: one of
_ a b c d e f g h i j k l m n o p q r s t u v w x y z
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
digit: one of
0 1 2 3 4 5 6 7 8 9
完全没有加分。 我认为,加号将被解析为任何类似C语言的解析器的表达式。