MSVC 中"interface"关键字是什么?

What is the "interface" keyword in MSVC?

本文关键字:是什么 关键字 interface MSVC      更新时间:2023-10-16

我正在查看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不一样

谁能给我点提示吗?

微软有一些编译器特定的扩展,就像你链接的一样,但interface不应该是本地c++编译器特定的关键字,而是一个替代某些东西的定义(在basetypes .h中,它曾经定义如下)

# define interface  struct

链接在这里

如果您想验证这一点,请执行grep查询这样的定义,您应该会找到类似的内容。


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