Funktions-Modifizierer
Nach oben zu Deklarationssyntax - Index
Dieser Abschnitt enthält eine Beschreibung der Funktions-Modifizierer im Embarcadero C++-Compiler.
Sie können die Modifizierer __declspec(dllexport) und __declspec(dllimport) um Funktionen zu ändern.
In 32-Bit-Programmen kann das Schlüsselwort für Klassen-, Funktionen- und Variablen-Deklarationen angewendet werden.
Der Modifizierer __declspec(dllexport) bestimmt, dass eine Funktion aus Windows exportierbar ist. Der Modifizierer __declspec(dllimport) stellt eine Funktion anderen Windows-Programmen zur Verfügung. Die Schlüsselwörter werden in einer ausführbaren Datei (wenn Sie nicht Smart Callbacks verwenden) oder in einer DLL eingesetzt.
Wird eine Funktion mit dem Modifizierer __fastcall deklariert, erhält sie einen anderen Namen. Der Compiler stellt den Namen von __fastcall-Funktionen das At-Zeichen ("@") voran. Dies gilt sowohl für nicht veränderte C-Funktionsnamen als auch für veränderte C++-Funktionsnamen.
C++Builder C++-Modifizierer:
Modifizierer | Verwendet bei | Beschreibung |
---|---|---|
const |
Variablen |
Verhindert Veränderungen an einem Objekt. |
volatile |
Variablen |
Verhindert die Registerzuweisung und andere Optimierungsmaßnahmen. Warnt den Compiler, dass das Objekt während der Auswertung von außen geändert werden kann. |
__cdecl |
Funktionen |
Erzwingt die C-Konvention für die Übergabe von Argumenten. Betrifft den Linker und beim Linken vergebene Namen. Dies ist die Standardeinstellung. |
__cdecl |
Variablen |
Erzwingt den führenden Unterstrich und die Unterscheidung von Groß- und Kleinbuchstaben bei globalen Bezeichnern in C. Dies ist die Standardeinstellung. |
__pascal |
Funktionen |
Erzwingt die Pascal-Konvention für die Übergabe von Argumenten. Betrifft den Linker und beim Linken vergebene Namen. |
__pascal |
Variablen |
In C wird bei globalen Bezeichnern nicht zwischen Groß- und Kleinbuchstaben unterschieden und es wird kein führender Unterstrich hinzugefügt. |
__import |
Funktionen/Klassen |
Teilt dem Compiler mit, welche Funktionen oder Klassen importiert werden sollen. |
__export |
Funktionen/Klassen |
Teilt dem Compiler mit, welche Funktionen oder Klassen exportiert werden sollen. |
__declspec(dllimport) |
Funktionen/Klassen |
Teilt dem Compiler mit, welche Funktionen oder Klassen importiert werden sollen. Dies ist die bevorzugte Methode. |
__declspec(dllexport) |
Funktionen/Klassen |
Teilt dem Compiler mit, welche Funktionen oder Klassen exportiert werden sollen. Dies ist die bevorzugte Methode. |
__fastcall |
Funktionen |
Erzwingt die Registerkonvention bei der Übergabe von Parametern. Betrifft den Linker und beim Linken vergebene Namen. |
__stdcall |
Funktionen |
Erzwingt die Einhaltung des Standards der WIN32-Konvention zur Argumentübergabe. |
C++ erweitert const und volatile beim Einfügen von Klassen und Member-Funktionen.