我有一些使用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/

10-10 21:28