Respuestas:
#import es algo específico de Microsoft, aparentemente solo para cosas COM o .NET.
#include es una declaración de preprocesador estándar de C / C ++, que se utiliza para incluir archivos de encabezado (u ocasionalmente otro código fuente) en su archivo de código fuente.
Importar en VC ++: #import es para bibliotecas de tipos o .tlbs (cosas COM).
El contenido de la biblioteca de tipos se convierte en clases de C ++, principalmente describiendo las interfaces COM automáticamente, y luego se incluye en su archivo.
La #importdirectiva fue introducido por Microsoft como una extensión del lenguaje C ++. Puede leerlo en este artículo de MSDN .
La #importdirectiva también se usa con cosas .NET / CLI.
Importar en gcc:
La importación en gcc es diferente de la importación en VC ++. Es una forma sencilla de incluir un encabezado como máximo una vez. (En VC ++ y GCC también puede hacer esto #pragmauna vez)
El #importequipo de gcc oficialmente no adoptó la directiva en la versión 3.4 y funciona bien el 99% del tiempo en todas las versiones anteriores de gcc que admiten
Incluir: #include es principalmente para archivos de encabezado, pero para anteponer el contenido a su archivo actual. #includees parte del estándar C ++. Puede leerlo en este artículo de MSDN .
importar también fue una de las palabras clave asociadas con n2073, Módulos en C ++ , propuesta al comité de idiomas por Daveed Vandevoorde en septiembre de 2006. No soy lo suficientemente experto en idiomas para saber si esa propuesta fue definitivamente archivada o si está esperando una implementación (prueba de concepto) del autor o de otra persona ...
Tenga en cuenta que en gcc 4.1, #import está obsoleto. Si lo usa, recibirá una advertencia:
#importes una extensión de GCC obsoleta