В чем разница между #includeи #importв C ++?
Ответы:
#import это специфическая вещь Microsoft, по-видимому, только для COM или .NET.
#include - это стандартный оператор препроцессора C / C ++, используемый для включения файлов заголовков (или иногда другого исходного кода) в файл исходного кода.
Импорт в VC ++: #import для библиотек типов или .tlbs (материалы для COM).
Содержимое библиотеки типов преобразуется в классы C ++, в основном автоматически описывающие интерфейсы COM, а затем включается в ваш файл.
#importДиректива была введена Microsoft в качестве расширения языка C ++. Вы можете прочитать об этом в этой статье MSDN .
#importДиректива также используется .NET CLI материал /.
Импорт в gcc:
импорт в gcc отличается от импорта в VC ++. Это простой способ включить заголовок не более одного раза. (В VC ++ и GCC вы также можете сделать это через #pragmaодин раз)
#importДиректива была официально undeprecated командой GCC версии 3.4 и работает отлично 99% времени во всех предыдущих версиях GCC , которые поддерживают
Включить: #include в основном для файлов заголовков, но для добавления содержимого к текущему файлу. #includeявляется частью стандарта C ++. Вы можете прочитать об этом в этой статье MSDN .
import также был одним из ключевых слов, связанных с n2073, Модули в C ++ , предложенным языковому комитету Дэвидом Вандевурдом в сентябре 2006 года. Я недостаточно разбираюсь в языке, чтобы знать, было ли это предложение окончательно отложено на полку или ожидает реализации (доказательство концепции) от автора или кого-то еще ...
Обратите внимание, что в gcc 4.1 #import он устарел. Если вы воспользуетесь им, вы получите предупреждение:
#importявляется устаревшим расширением GCC