Каково ключевое слово "интерфейс" в MSVC?
Я просматриваю SDK Windows 8.1 и в UnknownBase.h Я вижу такие вещи, как
typedef interface IUnknown IUnknown;
Я никогда не видел это ключевое слово interface
. Обратите внимание, что это определенно заголовок .h
, обработанный cl.exe
. Это не IDL файл, и он не обрабатывается midl.exe
.
Я нашел это онлайн: http://msdn.microsoft.com/en-us/library/50h7kwtb.aspx
Но __interface
не совпадает с interface
Может кто-нибудь подскажет мне здесь?
Ответы
Ответ 1
У Microsoft есть некоторые расширения для компилятора, такие как те, которые вы связали, но interface
не должны быть родным ключевым словом для компилятора С++, а скорее определите, что что-то заменяет (в BaseTyps.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