Dela via


Importera och exportera infogade funktioner

Importerade funktioner kan definieras som inline. Effekten är ungefär densamma som att definiera en standardfunktion inline; Anrop till funktionen expanderas till infogad kod, ungefär som ett makro. Detta är främst användbart som ett sätt att stödja C++-klasser i en DLL som kan infoga några av deras medlemsfunktioner för effektivitet.

En egenskap hos en importerad infogad funktion är att man kan ta dess adress i C++. Kompilatorn returnerar adressen till kopian av den infogade funktion som finns i DLL:en. En annan funktion i importerade infogade funktioner är att du kan initiera statiska lokala data för den importerade funktionen, till skillnad från globala importerade data.

Försiktighet

Du bör vara försiktig när du tillhandahåller importerade infogade funktioner eftersom de kan skapa en risk för versionskonflikter. En infogad funktion expanderas till programkoden. Om du senare skriver om funktionen uppdateras den därför inte om inte själva programmet kompileras om. (Normalt kan DLL-funktioner uppdateras utan att de program som använder dem återskapas.)

Vad vill du göra?

Se även

importera och exportera