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 #import
direttiva è stata introdotta da Microsoft come estensione al linguaggio C ++. Puoi leggere a riguardo in questo articolo di MSDN .
La #import
direttiva 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 #pragma
una volta)
La #import
direttiva è 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. #include
fa 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