相关疑难解决方法(0)

1511
推荐指数
11
解决办法
72万
查看次数

外部"C"和简单外部之间的区别

我已经看到C/C++代码使用在函数签名中声明的extern"C",并且还在将CP头包含到CPP文件中时使用.

但有些函数只是在签名之前声明extern(没有"C").

QN1:

这两种定义函数的方式是否具有相同的效果,还是它们意味着不同的东西?

对不起,如果我很傻,但我无法通过谷歌找到这种差异.

例如:

extern int someFunction( void *ret_val);

extern "C" int someFunction( void *ret_val);
Run Code Online (Sandbox Code Playgroud)

QN2:

如果函数在其签名中声明了extern,那么相应的头文件是否必须包含在extern"C"块中?

正如评论中的另一个用户所指出的那样,标记的副本并不完全满足此处的问题.我正在编辑,以便将来其他人可能不会误导成另一个问题.

c c++ extern-c

3
推荐指数
2
解决办法
2975
查看次数

extern"C"char表之间的区别[256] [256]; 和extern char表[256] [256];

在Visual Studio代码中成功编译

extern "C"  char Table[256][256]; 
Run Code Online (Sandbox Code Playgroud)

如果我用上面的代码替换

extern char Table[256][256];
Run Code Online (Sandbox Code Playgroud)

visual studio开始给我表未解决的外部错误?

c++ visual-c++

3
推荐指数
1
解决办法
84
查看次数

标签 统计

c++ ×3

c ×2

extern-c ×2

linkage ×1

name-mangling ×1

visual-c++ ×1