Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
可能重复: 为什么我们在 C++ 中需要 extern “C”{ #include <foo.h> }?
在我们的代码中,我多次看到如下语句:
extern "C" { //some code };
这到底是什么意思?
它告诉 C++ 编译器“某些代码”必须以 C 风格编译。这允许 C 和 C++ 代码之间的链接。
它告诉编译器将以下代码视为 C 代码而不是 C++ 代码
更重要的是,当从 C 函数调用时,链接器不会找到具有 C++ 链接的函数,除非您指定函数应该具有相同的链接类型。所以你会得到各种各样的链接错误,这似乎并不明显。