Importieren und Exportieren von Inlinefunktionen

Importierte Funktionen können als Inlinefunktionen definiert werden. Der Effekt ist ungefähr identisch mit der Definition einer standardmäßigen Inlinefunktion. Aufrufe der Funktion werden ähnlich wie bei einem Makro in Inlinecode erweitert. Dies ist in erster Linie nützlich, um C++-Klassen in einer DLL zu unterstützen, die möglicherweise einige ihrer Memberfunktionen aus Effizienzgründen inline erstellen möchten.

Ein Feature einer importierten Inlinefunktion besteht darin, dass Sie deren Adresse in C++ übernehmen können. Der Compiler gibt die Adresse der Kopie der Inlinefunktion zurück, die in der DLL verbleibt. Ein weiteres Feature importierter Inlinefunktionen ist, dass Sie statische lokale Daten der importierten Funktion im Gegensatz zu global importierten Daten initialisieren können.

Achtung

Beim Bereitstellen importierter Inlinefunktionen müssen Sie vorsichtig vorgehen, da sie die Möglichkeit von Versionskonflikten schaffen können. Eine Inlinefunktion wird in den Anwendungscode erweitert. Wenn Sie deshalb die Funktion später neu schreiben, wird sie erst dann aktualisiert, wenn die Anwendung selbst neu kompiliert wird. (In der Regel können DLL-Funktionen ohne Neuerstellung der Anwendungen aktualisiert werden, die diese verwenden.)

Wie möchten Sie vorgehen?

Siehe auch

Importieren und Exportieren