Risposte:
#import è una cosa specifica di Microsoft, apparentemente solo per cose COM o .NET.
#include è un'istruzione standard del preprocessore C / C ++, utilizzata per includere file di intestazione (o occasionalmente altro codice sorgente) nel file del codice sorgente.
Import in VC ++: #import è per librerie di tipi o .tlbs (roba COM).
Il contenuto della libreria dei tipi viene convertito in classi C ++, che descrivono principalmente automaticamente le interfacce COM, quindi viene incluso nel file.
La #importdirettiva è stata introdotta da Microsoft come estensione al linguaggio C ++. Puoi leggere a riguardo in questo articolo di MSDN .
La #importdirettiva viene utilizzata anche con elementi .NET / CLI.
Import in gcc:
l'importazione in gcc è diversa dall'importazione in VC ++. È un modo semplice per includere un'intestazione al massimo una sola volta. (In VC ++ e GCC puoi farlo anche #pragmauna volta)
La #importdirettiva è stata ufficialmente non dichiarata dal team di gcc nella versione 3.4 e funziona bene il 99% delle volte in tutte le versioni precedenti di gcc che supportano
Includi: #include è per la maggior parte dei file di intestazione, ma per anteporre il contenuto al file corrente. #includefa parte dello standard C ++. Puoi leggere a riguardo in questo articolo di MSDN .
import è stata anche una delle parole chiave associate a n2073, Modules in C ++ , proposta al comitato linguistico da Daveed Vandevoorde nel settembre 2006. Non sono abbastanza esperto di lingue per sapere se quella proposta è stata definitivamente accantonata o se è in attesa di implementazione (prova di concetto) dall'autore o da qualcun altro ...
Tieni presente che in gcc 4.1 #import è deprecato. Se lo usi, riceverai un avviso:
#importè un'estensione GCC deprecata