Delen via


Het importeren en exporteren van inlinefuncties

Geïmporteerde functies kunnen worden gedefinieerd als inline. Het effect is ongeveer hetzelfde als het definiëren van een standaardfunctie inline; aanroepen naar de functie worden uitgebreid in inlinecode, net als een macro. Dit is vooral nuttig om C++-klassen in een DLL te ondersteunen die sommige van hun lidfuncties inline kunnen definiëren voor efficiëntie.

Een functie van een geïmporteerde inlinefunctie is dat u het adres ervan in C++kunt gebruiken. De compiler retourneert het adres van de kopie van de inlinefunctie die zich in de DLL bevindt. Een andere functie van geïmporteerde inlinefuncties is dat u statische lokale gegevens van de geïmporteerde functie kunt initialiseren, in tegenstelling tot globale geïmporteerde gegevens.

Waarschuwing

U moet voorzichtig zijn bij het leveren van geïmporteerde inlinefuncties, omdat ze de mogelijkheid van versieconflicten kunnen creëren. Een inlinefunctie wordt uitgebreid naar de toepassingscode; Als u de functie later herschrijft, wordt deze daarom niet bijgewerkt, tenzij de toepassing zelf opnieuw wordt gecompileerd. (Normaal gesproken kunnen DLL-functies worden bijgewerkt zonder de toepassingen opnieuw te bouwen die ze gebruiken.)

Wat u wilt doen?

Zie ook

importeren en exporteren