Respostas:
#import
é uma coisa específica da Microsoft, aparentemente apenas para coisas COM ou .NET.
#include
é uma instrução de pré-processador C / C ++ padrão, usada para incluir arquivos de cabeçalho (ou ocasionalmente outro código-fonte) em seu arquivo de código-fonte.
Importar em VC ++: #import
é para bibliotecas de tipos ou .tlbs (coisas COM).
O conteúdo da biblioteca de tipos é convertido em classes C ++, principalmente descrevendo as interfaces COM para você automaticamente e, em seguida, é incluído em seu arquivo.
A #import
diretiva foi introduzida pela Microsoft como uma extensão da linguagem C ++. Você pode ler sobre isso neste artigo do MSDN .
A #import
diretiva também é usada com coisas .NET / CLI.
Importar no gcc:
a importação no gcc é diferente da importação no VC ++. É uma maneira simples de incluir um cabeçalho no máximo uma vez. (Em VC ++ e GCC você pode fazer isso via#pragma
uma vez)
A #import
diretiva não foi oficialmente adotada pela equipe do gcc na versão 3.4 e funciona bem 99% do tempo em todas as versões anteriores do gcc que suportam
Incluir: #include
destina-se principalmente a arquivos de cabeçalho, mas para anexar o conteúdo ao arquivo atual. #include
faz parte do padrão C ++. Você pode ler sobre isso neste artigo do MSDN .
import também foi uma das palavras-chave associadas a n2073, Módulos em C ++ , proposta ao comitê de linguagem por Daveed Vandevoorde em setembro de 2006. Não sou um geek da linguagem para saber se essa proposta foi definitivamente arquivada ou se está aguardando uma implementação (prova de conceito) do autor ou de outra pessoa ...
Observe que no gcc 4.1, #import
está obsoleto. Se você usá-lo, receberá um aviso:
#import
é uma extensão GCC obsoleta