在 C 中同时创建内部和外部链接
Simultaneously creating internal and external linkages in C
我正在阅读有关链接(外部、内部和 none)的 C 参考资料,并遇到以下内容:
If, within a translation unit, the same identifier appears with both
internal and external linkage, the behavior is undefined.
我想知道这种未定义的行为是如何发生的。根据我的阅读,一个变量只能有一个存储class。所以不能同时声明static
和extern
。
那么在什么情况下一个变量可以同时具有内联和外联?
在此代码中:
extern int x;
static int x;
第一个声明说 x
有外部链接,第二个声明说它有内部链接。
我正在阅读有关链接(外部、内部和 none)的 C 参考资料,并遇到以下内容:
If, within a translation unit, the same identifier appears with both internal and external linkage, the behavior is undefined.
我想知道这种未定义的行为是如何发生的。根据我的阅读,一个变量只能有一个存储class。所以不能同时声明static
和extern
。
那么在什么情况下一个变量可以同时具有内联和外联?
在此代码中:
extern int x;
static int x;
第一个声明说 x
有外部链接,第二个声明说它有内部链接。