2009-10-16 68 views
1

我需要包含一个头文件,其中包含一些全局变量(不是我的,所以我无法更改它)。包含带有全局变量的头文件

我该怎么做才能让包含文件中的变量在所有情况下都被视为'extern'?

+0

“包含”是指“声明”还是“定义”? – sellibitze 2009-10-16 09:18:30

回答

3

你不能。复制标题并自己添加extern。

+0

这是一种非标准的头文件的写法,你正是这样描述的原因。通常你会希望头文件使用'extern'声明每个全局变量,然后在其他地方的实现文件中创建实际的变量存储声明。 – 2009-10-16 00:28:33

0

如果变量只在头中声明,但没有赋值,那么您可以根据编译器做到这一点。例如,GCC具有-fno-common标志来控制这种行为。