Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gibt an, dass short_filename als Alias für long_filenameverwendet werden soll.
#pragma include_alias( "long_filename", "short_filename" )
#pragma include_alias( <long_filename>, <short_filename> )
Hinweise
Einige Dateisysteme können längere Headerdatei als Dateisystem FAT-8.3 beschränkt.Der Compiler kann die längeren Namen nicht einfach bis 8.3 abschneiden, da die ersten acht Zeichen der längeren Headerdatei möglicherweise nicht eindeutig sind.Wenn der Compiler die long_filename Zeichenfolge auftritt, ersetzt er short_filenameund sucht nach dem Headerdatei short_filename .Dieses Pragma muss vor den entsprechenden #include-Direktive angezeigt werden.Beispiele:
// First eight characters of these two files not unique.
#pragma include_alias( "AppleSystemHeaderQuickdraw.h", "quickdra.h" )
#pragma include_alias( "AppleSystemHeaderFruit.h", "fruit.h" )
#pragma include_alias( "GraphicsMenu.h", "gramenu.h" )
#include "AppleSystemHeaderQuickdraw.h"
#include "AppleSystemHeaderFruit.h"
#include "GraphicsMenu.h"
Der Alias, der gefunden wird, muss die Spezifikation für den fall, dass genau übereinstimmen, sowie in der Schreibweise und in Gebrauch von doppelten Anführungszeichen oder spitzen Klammern.Das include_alias Pragma listet die einfache Zeichenfolge aus, die auf den Dateinamen übereinstimmt. Dateinamen keine andere Validierung wird ausgeführt.Beispielsweise die folgenden Direktiven.
#pragma include_alias("mymath.h", "math.h")
#include "./mymath.h"
#include "sys/mymath.h"
(kein Aliasing Ersetzung) wird ausgeführt, da die Headerdatei Zeichenfolgen nicht übereinstimmen.Die Headerdatei, die als Argumente an /Yu- und /Yc- Compileroptionen verwendet werden, oder das hdrstop Pragma, werden nicht ersetzt.Wenn z. B. die Quelldatei enthält die folgenden Direktiven
#include <AppleSystemHeaderStop.h>
Compileroption sollte die entsprechende
/YcAppleSystemHeaderStop.h
Sie können das include_alias Pragma verwenden, um einen beliebigen Headerdatei zu anderen zuzuordnen.Beispiele:
#pragma include_alias( "api.h", "c:\version1.0\api.h" )
#pragma include_alias( <stdio.h>, <newstdio.h> )
#include "api.h"
#include <stdio.h>
Kombinieren Sie nicht die Dateinamen, die in Anführungszeichen eingeschlossen sind, mit den Dateinamen in spitzen Klammern eingeschlossen werden.Beispielsweise werden die beiden oben erwähnten Direktive #pragma include_alias der Compiler keinen Ersatz für den nächsten #include-Direktive aus:
#include <api.h>
#include "stdio.h"
Außerdem generieren die folgende Direktive einen Fehler:
#pragma include_alias(<header.h>, "header.h") // Error
Beachten Sie, dass der Dateiname in Fehlermeldungen gemeldet oder als der Wert des vordefinierten __FILE Makros und der Name der Datei lautet, nachdem die Ersetzung ausgeführt wurde.Zum Beispiel nach den folgenden Direktiven.
#pragma include_alias( "VeryLongFileName.H", "myfile.h" )
#include "VeryLongFileName.H"
ein Fehler in VERYLONGFILENAME.H wird die folgende Fehlermeldung angezeigt:
myfile.h(15) : error C2059 : syntax error
Beachten Sie außerdem, dass Transitivität nicht unterstützt wird.Wenn die folgende Direktive.
#pragma include_alias( "one.h", "two.h" )
#pragma include_alias( "two.h", "three.h" )
#include "one.h"
Compiler sucht die Datei statt TWO.H. THREE.H.