这段代码是什么意思?
在一个头文件中包含
extern "C "
{
externconst IID IID_IX;
externconst IIDIID_IY;
externconstIIDIID_IZ;
}
既然外面有了extern "C ",里面再加个extern是什么意思?
[解决办法]
含义不一样
extern "C " 表示用C方式链接
extern const IID IID_IX; 表示IID_IX在本模块之外,其地址在链接时才能确定
具体可以查MSDN
[解决办法]
外面那个extern :表示如果现在的编译环境是C++的话,让编译器生成C样式的函数名,也就是 阻止编译器使用C++的方法进行函数名解析。
里面的extern :extern表示,在别处已经定义了一个对象,但是本文件因为头文件包含等原因无法直接看到。这时候用extern显式说明一下,通知编译器到别处找这个东东。