Megosztás a következőn keresztül:


C-függvények exportálása C vagy C++ nyelvi végrehajtható fájlokban való használatra

Ha c nyelven írt DLL-függvényekkel rendelkezik, egy előfeldolgozó makróval megkönnyítheti a C nyelv és a C++ nyelvi kód elérését. Az __cplusplus előfeldolgozó makró jelzi, hogy melyik nyelvet fordítja le. C++ nyelvi kódból hívva deklarálhatja a C kapcsolattal rendelkező függvényeket. Ha ezt a technikát használja, és fejlécfájlokat ad meg a DLL-hez, ezeket a függvényeket a C és a C++ felhasználók is használhatják változtatás nélkül.

Az alábbi kód egy fejlécfájlt jelenít meg, amelyet a C és a C++ ügyfélalkalmazások is használhatnak:

// MyCFuncs.h
#ifdef __cplusplus
extern "C" {  // only need to export C interface if
              // used by C++ source code
#endif

__declspec( dllimport ) void MyCFunc();
__declspec( dllimport ) void AnotherCFunc();

#ifdef __cplusplus
}
#endif

Előfordulhat, hogy A C függvényeket a C++ végrehajtható fájlhoz kell kapcsolnia, de a függvénydeklaráció fejlécfájljai nem használták a fenti technikát. A függvényeket továbbra is meghívhatja a C++-ról. A C++ forrásfájlban csomagolja be az #include irányelvet, hogy a fordító ne díszíthesse a C függvényneveket:

extern "C" {
#include "MyCHeader.h"
}

Mit kíván tenni?

Miről szeretne többet tudni?

Lásd még

Exportálás DLL-ből