什么是"界面" MSVC中的关键字?

时间:2014-08-11 00:05:10

标签: c++ c visual-studio winapi com

我正在浏览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

__interfaceinterface

不同

有谁能在这里提示我?

1 个答案:

答案 0 :(得分:10)

Microsoft有一些特定于编译器的扩展,例如您链接的扩展,但interface不应该是本机C ++编译器特定的关键字,而是替换某些东西的定义(在BaseTyps.h中它曾经是定义如下)

# define interface  struct

Link here

如果你想验证这个,为这样的定义做grep,你应该找到类似的东西。


参考文献:http://social.msdn.microsoft.com/forums/vstudio/en-US/06bf1dea-1d20-4ec3-b9a1-3d673d7fcd8d/what-is-the-interface-keyword-in-native-c