extern "C" _declspec(dllexport) double SquareRoot(double d);
“C”表示按照标准c进行编译
extern 则是用于声明动态导出函数_declspec(dllexport) double SquareRoot(double d);是要外部使用的
这个函数在Dll里的,要把它暴露给别的用户
extern "C"
好象叫作编译重定向什么的。
意思就是后面跟的代码是标准C的语法。
主要是因为C++有重载的概念。
所以编译后生成库不同。
eg:
对函数fun(int, int)
标准C编译后生成_fun()
C++编译后生成_fun(int, int)
如果不加extern "C"
当调用fun(int, int)时,却找不到_fun(int, int)
如果在C++文件中引用标准C的库函数或标准C编译成的库
一定要加extern "C"