我已经看到 C/C++ 代码使用在函数签名中声明的 extern "C" 以及在 CPP 文件中包含 C 标头。
但有些函数只是在签名之前声明 extern(没有“C”)。
QN1:
这两种定义函数的方式是否具有相同的效果,或者它们是否意味着不同的东西?
抱歉,如果我很傻,但我无法通过 Google 找到这种差异。
例如:
extern int someFunction( void *ret_val);
extern "C" int someFunction( void *ret_val);
QN2:
如果函数在其签名中使用 extern 声明,是否有必要将相应的头文件包含在 extern "C" 块中?
正如另一位用户在评论中指出的那样,标记的副本并不完全满足这里的问题。我正在编辑,以便将来其他人不会被误导到不同的问题。