Eksportowanie funkcje C, C lub plików wykonywalnych języka C++
Jeśli w bibliotece DLL, napisany w C, że chcesz uzyskać dostęp z języka c lub C++ modułu językowego, należy użyć funkcji __cplusplus preprocesora makra, aby określić język, który jest kompilowany i oświadczają te funkcje z c powiązania, jeśli jest używany z poziomu modułu języka C++.Jeśli używasz tej techniki i przewidują nagłówek pliki biblioteki DLL, funkcje te można przez użytkowników c i C++, bez żadnych zmian.
Poniższy kod przedstawia używany przez aplikacje klienckie c i C++ pliku nagłówka:
// 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
Musisz połączyć funkcje c do programu wykonywalnego C++ pliki nagłówków deklarację funkcji nie użyto powyższe techniki w pliku źródłowym C++, wykonaj następujące czynności, aby zapobiec kompilator wykończeniowe nazwy funkcji C:
extern "C" {
#include "MyCHeader.h"
}