В чем разница между #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