C++ comprennent et l'importation de différence
Quelle est la différence entre #include
et #import
en C++?
Vous devez vous connecter pour publier un commentaire.
Quelle est la différence entre #include
et #import
en C++?
Vous devez vous connecter pour publier un commentaire.
#import
est spécifique à Microsoft chose, apparemment pour COM ou .NET des trucs seulement.#include
est une norme préprocesseur C/C++ déclaration, utilisés pour inclure l'en-tête (ou parfois d'autres code source) des fichiers dans votre fichier de code source.Importer dans VC++:
#import
est pour les bibliothèques de types ou .les tlb (COM trucs).Le contenu de la bibliothèque de type est converti en C++ classes, surtout décrivant les interfaces COM automatiquement pour vous, et puis il est inclus dans votre fichier.
La
#import
directive a été présenté par Microsoft comme une extension du langage C++. Vous pouvez lire à ce sujet à cet article MSDN.La
#import
directive est également utilisé avec d' .NET /CLI choses.Importer dans gcc:
L'importation dans gcc est différente de l'importation dans VC++. C'est une façon simple d'inclure un en-tête plus d'une fois seulement. (Dans VC++ et GCC, vous pouvez le faire via
#pragma
une fois)La
#import
directive a été officiellement undeprecated par l'équipe de gcc en version 3.4 et fonctionne très bien à 99% du temps dans toutes les précédentes versions de gcc qui soutiennentComprennent:
#include
est pour la plupart des fichiers d'en-tête, mais d'ajouter le contenu de votre fichier actuel.#include
fait partie de la norme C++. Vous pouvez lire à ce sujet à cet article MSDN.@import
fonctionne très bien dans Clang...#import
est dans l'ensemble un solution à l'habitudetravail.
#import
inclut un fichier seulement si il n'a pas été inclus avant.Il est intéressant de noter qu'Apple Objective-C utilise également
#import
consolidés.importation a également été l'un des mots-clés associés avec n2073, des Modules en C++, a proposé au comité des langues par Daveed Vandevoorde en septembre 2006. Je ne suis pas assez la langue, un geek pour savoir si cette proposition a été définitivement mis de côté, ou si elle est en attente d'une mise en œuvre (preuve de concept) de l'auteur ou de quelqu'un d'autre...
Veuillez noter que dans gcc 4.1,
#import
est obsolète. Si vous l'utilisez, vous obtiendrez avertissement: