读书人

这段代码是什么意思?解决思路

发布时间: 2012-02-12 17:16:33 作者: rapoo

这段代码是什么意思?
在一个头文件中包含

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显式说明一下,通知编译器到别处找这个东东。


读书人网 >VC/MFC

热点推荐