欢迎访问个人网络日志🌹🌹知行空间🌹🌹
externC
1.为什么要使用externC
一句话总结,C++支持函数重载,C语言不支持函数重载,在生成的C++编译文件中函数名会根据参数进行混淆(mangle),而C语言的编译文件不会被混淆,所以在C++程序中链接C语言的函数动态库时需要使用externC来保证函数签名的正确性。
/// main.cpp
void f() {
}
void g();
extern "C" {
void ef() {
}
void eg();
}
/* Prevent g and eg from being optimized away. */
void h() {
g(); eg()