我有一些使用vextern的c代码,如下所示,我想知道这是什么目的:
文件1.c:
#define FILE1_G_
文件1.h:
#ifdef FILE1_G_
# define vextern
#else
# define vextern extern
#endif
最佳答案
我猜define
只用于在一个文件中定义变量,但在包含此头的所有文件中声明它们。
如果在file1.h
中有vextern int a;
,并且在某些.c文件中包含此文件,则变量a
将仅在具有行#define FILE1_G_
的文件中定义。(在您的示例中,file1.c
)
关于c - 该代码中vextern的作用是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9300993/