Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Implizites Inkludieren

&pagelevel(4)&pagelevel

Das implizite Inkludieren von Quelldateien ist eine Methode, um Definitionen von Template-Einheiten zu finden. Diese Methode ist beim Compiler voreingestellt (siehe auch Option IMPLICIT-INCLUDE, "MODIFY-SOURCE-PROPERTIES") und kann mit IMPLICIT-INCLUDE=*NO ausgeschaltet werden. Zum Ausschalten der impliziten Inkludierung beachten Sie bitte auch die Hinweise im Abschnitt "Grundlegende Aspekte".

Wenn implizites Inkludieren eingeschaltet ist, sucht der Compiler die Definition zu einer Template-Einheit nach folgendem Prinzip:
Wenn eine Template-Einheit in einem Include-Element basisname.H deklariert ist und im übersetzten Quellcode keine Definition bereitsteht, nimmt der Compiler an, dass die Definition zu dieser Template-Einheit in einer Quelldatei enthalten ist,

  • die als Quellprogramm-Element in derselben PLAM-Bibliothek steht wie das Include-Element

  • und deren Name aus dem Basisnamen des Include-Elements und einem Standard-Suffix für C++-Quelldateien .C, .CPP, .CXX oder .CC gebildet ist (z.B. basisname.CC).

Es sei beispielsweise in dem Include-Element XYZ.H in der Bibliothek PLAM.T eine Template-Einheit ABC::f deklariert. Wenn die Instanziierung von ABC::f bei der Übersetzung angefordert wird, aber keine Definition von ABC::f im übersetzten Quellcode existiert, sucht der Compiler in der Bibliothek PLAM.T nach einer Quelldatei mit dem Basisnamen XYZ und einem Standard-Suffix für C++-Quelldateien.C, .CPP, .CXX oder .CC (z.B. XYZ.CC). Wenn sie existiert, wird sie so behandelt, als ob sie am Ende der Quelldatei inkludiert wäre.