Freigeben über


#PreCompiled Präprozessordirektive

#PreCompiled:  BOOL

Die #PreCompiled-Direktive gibt an, ob eine Quelldatei vorkompiliert ist.

Wenn BOOLTRUE ist, wird davon ausgegangen, dass die Quelldatei vorkompiliert ist. Andernfalls wird die Datei inline eingeschlossen, wenn über eine #Include-Direktive auf die Quelldatei verwiesen wird.

Die #PreCompiled-Direktive muss vor jeder #Include-Direktive in einer GDL-Quelldatei angezeigt werden. andernfalls wird er ignoriert. Der BOOL-Wert ist erforderlich.

Dateien, die als vorkompiliert markiert sind, werden in einem Stammkontext analysiert. Das heißt, jeder Kontext, der vom Host oder von GDL-Dateien eingerichtet wird, geht verloren. Wenn z. B. die Host-GDL-Datei Präprozessorsymbole vor dem Einschließen der vorkompilierten Datei definiert hat, wären diese Symbole nicht vorhanden, wenn die vorkompilierte Datei analysiert wird. Diese Art der Analyse stellt sicher, dass mehrere Versionen einer vorkompilierten Datei nicht mithilfe von #Ifdef-Blöcken erstellt werden können und dass verschiedene Hosts unterschiedliche Symbole für den Zugriff auf die verschiedenen #Ifdef-Blöcke definieren. Da die vorkompilierte Datei nie analysiert wird, gibt es nur eine eindeutige Version. Daher darf sich der Writer einer vorkompilierten Datei nicht auf extern definierte Präprozessorsymbole verlassen.

Beachten Sie außerdem, dass vorkompilierte Dateien eindeutig sein müssen und unabhängig vom Host sein müssen, der sie enthält. Vorkompilierte Dateien basieren nicht auf eingeschlossenen Inhalten, auf die die Hostdatei verweist, oder von Inhalten, die möglicherweise in der Hostdatei definiert sind.

Diese Präprozessordirektive ist neu für GDL.