Sdílet prostřednictvím


Export funkcí jazyka C pro použití ve spustitelných souborech jazyka C nebo jazyka C++

Pokud máte funkce v knihovně DLL napsané v jazyce C, ke kterým chcete získat přístup z jazyka C nebo modulu jazyka C++, měli byste použít preprocesor makro __cplusplus k určení, který jazyk se bude kompilovat a poté deklarovat tyto funkce s C propojením, pokud je používán z modulu jazyka C++. Použijete-li tento postup a zprostředkujete-li hlavičku souborů pro Vaší knihovnu DLL, tyto funkce mohou být beze změny použity uživateli jazyků C a C++.

Následující kód ukazuje soubor hlaviček, které mohou být použity klientskými aplikacemi jazyka C a C++:

// 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

Pokud potřebujete propojit funkce jazyka C do Vašeho spustitelného souboru jazyka C++ ve zdrojovém souboru jazyka C++ a deklarace funkce hlavičkových souborů nepoužívají techniky popsané výše, proveďte následující k zabránění kompilátoru před dekorováním názvů funkcí jazyka C.

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

Co chcete udělat?

Co chcete vědět více?

Viz také

Koncepty

Export z knihovny DLL