在这篇文章中,关键字extern可以跟随"C"或"C++"。为什么要使用'extern "C++"'?它是否实用?
extern "C" 用于指定 C++ 函数应该具有 C 链接。这意味着实现方式取决于具体情况,但通常它会关闭 C++ 的名称重载和严格类型检查(即取消名称修饰)。当你想要从 C 代码中调用一个 C++ 函数时,你需要使用它:
extern "C" void Foo(); // can be called easily from C
printf
,链接器需要知道它在库中作为printf
而不是printf_#$D%G^_&_^
。 - James Curran