我正在浏览Windows 8.1 SDK和UnknownBase.h。我看到的是
typedef interface IUnknown IUnknown;
之前我从未见过这个interface
关键字。请注意,这绝对是.h
标头,由cl.exe
处理。它不是IDL文件,并且不由midl.exe
处理。
我在网上找到了这个:http://msdn.microsoft.com/en-us/library/50h7kwtb.aspx
但__interface
与interface
有谁能在这里提示我?
答案 0 :(得分:10)
Microsoft有一些特定于编译器的扩展,例如您链接的扩展,但interface
不应该是本机C ++编译器特定的关键字,而是替换某些东西的定义(在BaseTyps.h中它曾经是定义如下)
# define interface struct
如果你想验证这个,为这样的定义做grep,你应该找到类似的东西。