Bagikan melalui


Mengimpor ke aplikasi menggunakan __declspec(dllimport)

Program yang menggunakan simbol publik yang ditentukan oleh DLL dikatakan mengimpornya. Saat Anda membuat file header untuk aplikasi yang menggunakan DLL Anda untuk dibangun, gunakan __declspec(dllimport) pada deklarasi simbol publik. Kata kunci __declspec(dllimport) berfungsi apakah Anda mengekspor dengan file .def atau dengan __declspec(dllexport) kata kunci.

Untuk membuat kode Anda lebih mudah dibaca, tentukan makro untuk __declspec(dllimport) lalu gunakan makro untuk mendeklarasikan setiap simbol yang diimpor:

#define DllImport   __declspec( dllimport )

DllImport int  j;
DllImport void func();

Menggunakan __declspec(dllimport) bersifat opsional pada deklarasi fungsi, tetapi pengkompilasi menghasilkan kode yang lebih efisien jika Anda menggunakan kata kunci ini. Namun, Anda harus menggunakan __declspec(dllimport) untuk mengimpor executable untuk mengakses simbol dan objek data publik DLL. Perhatikan bahwa pengguna DLL Anda masih perlu menautkan dengan pustaka impor.

Anda dapat menggunakan file header yang sama untuk DLL dan aplikasi klien. Untuk melakukan ini, gunakan simbol prapemroseksi khusus yang menunjukkan apakah Anda membangun DLL atau membangun aplikasi klien. Contohnya:

#ifdef _EXPORTING
   #define CLASS_DECLSPEC    __declspec(dllexport)
#else
   #define CLASS_DECLSPEC    __declspec(dllimport)
#endif

class CLASS_DECLSPEC CExampleA : public CObject
{ ... class definition ... };

Apa yang ingin Anda lakukan?

Apa yang ingin Anda ketahui lebih lanjut?

Baca juga

Mengimpor ke dalam Aplikasi