C ++ umfassen und Import Differenz
-
05-07-2019 - |
Frage
Was ist der Unterschied zwischen #include
und #import
in C ++?
Lösung
#import
ist eine Microsoft-spezifische Sache, anscheinend für COM oder .NET Sachen nur.
#include
ist eine Standard-C / C ++ Präprozessoranweisung, verwendet für einschließlich Header (oder gelegentlich andere Quellcode-Dateien) in Ihrer Quellcodedatei.
Andere Tipps
Import in VC ++: #import
ist für Typ-Bibliotheken oder .tlbs (COM Sachen).
Der Inhalt der Typbibliothek wird umgewandelt in C ++ Klassen, vor allem die COM-Schnittstellen beschreibt, automatisch für Sie, und dann wird es in Ihre Datei enthält.
Die #import
Richtlinie wurde von Microsoft als Erweiterung der Sprache C ++ eingeführt. Sie können unter diesem MSDN-Artikel darüber lesen.
Die #import
Richtlinie auch mit .NET / CLI Material verwendet wird.
Import in gcc:
Der Import in gcc unterscheidet sich von dem Import in VC ++. Es ist eine einfache Art und Weise einen Kopf höchstens nur einmal aufzunehmen. (In VC ++ und GCC Sie können dies auch einmal über #pragma
tun)
Die #import
Richtlinie wurde vom gcc-Team in der Version 3.4 offiziell undeprecated und funktioniert gut 99% der Zeit in allen früheren Versionen von gcc, die Unterstützung
Fügen Sie: #include
ist für meist Header-Dateien, sondern um den Inhalt Ihre aktuelle Datei vorangestellt wird. #include
ist ein Teil des C ++ Standard. Sie können unter diesem MSDN-Artikel darüber lesen.
#import
ist insgesamt ein Lösung zu den üblichen
#ifndef ...
#define ...
#include ...
#endif
Work-around. #import
enthält eine Datei nur dann, wenn es nicht vor enthalten.
Es könnte sein, bemerkenswert, dass Apples Objective-C #import
Aussagen auch verwendet.
Import war auch eines der Schlüsselwörter mit n2073, Module in C ++ , schlug die Sprache Ausschuss von Daveed Vandevoorde im September 2006. ich bin nicht genug eine Sprache aussenseiter zu wissen, ob dieser Vorschlag endgültig ad acta gelegt wurde, oder wenn es eine Implementierung (Proof of concept) vom Autor oder jemand anderes erwarten ...
Bitte beachten Sie, dass in gcc 4.1, #import
ist veraltet. Wenn Sie es verwenden, werden Sie Warnung erhalten:
#import
ist eine veraltete GCC-Erweiterung