Udostępnij za pośrednictwem


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"
}

Co chcesz zrobić?

Co chcesz wiedzieć więcej?

Zobacz też

Koncepcje

Eksportowanie z biblioteki DLL