最近在看 com技术内幕在前面几章举的例子当中
都是这样  在guids.cpp中 定义了guid
extern "c" const IID IID_X ={......}在ifaces.h中声明 
extern "c" const IID IID_X为什么要这样了??再 extern "c" const IID IID_X 这段代码是什么意思?
这个IID 是什么?

解决方案 »

  1.   

    每个COM接口都有一个与之相关的GUID,称为接口ID(interface ID,IID)
      

  2.   

    .h文件声明
    .cpp定义
    extern "C" 是以C的格式定义,目的是与别的编译器兼容
      

  3.   

    我知道  但是为何再头文件中不直接定义了再const IID IID_X 这个中IID 是什么东西?
      

  4.   

    不直接定义是习惯问题吧,当然你可以把东西都定义在一起
    IID就数据类型,比如INT
      

  5.   

    这个IID 是在哪定义的?是个什么样的类型?guid 不是个long型的吗?
      

  6.   

    不是有typedef嘛,系统头文件里有定义的,比如rpcproxy.h,afxwin.h里就有