1.保证在C++代码中能调用C
extern "C"的主要作用就是为了能够正确实现C++代码调用其他C语言代码。加上extern "C"后,会指示编译器这部分代码按C语言的进行编译,而不是C++的。因为如果按照C++语言编译,则不能调用C。
2.因为C++有重载,编译后在内存中可能名字变了,加了extern "C"可以保证名字不变。
例如:
extern “C” Q_DECL_EXPORT QDialog * fun();
能保证编译后函数名仍然是fun。
就能用下列语句调用该函数块。
QLibrary mylib(“xxx.lib”);
mylib.resolve(“fun”);
Q_DECL_EXPORT 宏是用来在生成动态库时导出类,提供外部接口给其他类使用。