Definizione di funzioni inline C++ con dllexport e dllimport

Specifici di Microsoft

È possibile definire come inline una funzione con dllexport attributo.In questo caso, la funzione viene sempre creare un'istanza e esportata, indipendentemente dal fatto che qualsiasi modulo nel programma fa riferimento alla funzione.la funzione è presunta per essere inclusa da un altro programma.

È inoltre possibile definire come inline una funzione dichiarata con dllimport attributo.In questo caso, la funzione può essere espansa (conforme alle specifiche di /Ob), ma non sia possibile crearne un'istanza mai.In particolare, se l'indirizzo di una funzione importata in linea viene preso, l'indirizzo della funzione contenuta nella DLL viene restituito.Questo comportamento è analogo a recuperando l'indirizzo di una funzione importata non inline.

Queste regole vengono applicate le funzioni inline delle cui definizioni vengono visualizzati nella definizione di classe.Inoltre, i dati locali statici e le stringhe delle funzioni inline gestiscono le stesse identità tra la DLL e il client come in un unico programma (ovvero un file eseguibile senza un'interfaccia DLL).

Visualizzazione di esercizio quando forniscono funzioni inline importate.Ad esempio, se si aggiornano la DLL, non presupporre che il client verrà utilizzata la versione modificata della DLL.Per assicurarsi che si sta caricando la versione corretta della DLL, ricompilare il client della DLL anche.

Vedere anche

Riferimenti

dllexport, dllimport