Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Jika Anda memiliki fungsi dalam DLL yang ditulis dalam C, Anda dapat menggunakan makro praprosesor untuk membuatnya mudah diakses dari bahasa C dan kode bahasa C++. Makro __cplusplus praprosesor menunjukkan bahasa mana yang sedang dikompilasi. Anda dapat menggunakannya untuk mendeklarasikan fungsi dengan tautan C saat dipanggil dari kode bahasa C++. Jika Anda menggunakan teknik ini dan menyediakan file header untuk DLL Anda, fungsi-fungsi ini dapat digunakan oleh pengguna C dan C++ tanpa perubahan.
Kode berikut menunjukkan file header yang dapat digunakan aplikasi klien C dan 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
Terkadang Anda mungkin perlu menautkan fungsi C ke C++ yang dapat dieksekusi, tetapi file header deklarasi fungsi belum menggunakan teknik di atas. Anda masih dapat memanggil fungsi dari C++. Dalam file sumber C++, bungkus #include direktif untuk mencegah pengkompilasi mendekorasi nama fungsi C:
extern "C" {
#include "MyCHeader.h"
}