Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Mentakrifkan COMPILING_DLL dengan Betul untuk Makro DLLEXPORT/DLLIMPORT?

Bagaimanakah Saya Mentakrifkan COMPILING_DLL dengan Betul untuk Makro DLLEXPORT/DLLIMPORT?

DDD
Lepaskan: 2024-11-29 11:51:10
asal
888 orang telah melayarinya

How Do I Properly Define COMPILING_DLL for DLLEXPORT/DLLIMPORT Macros?

Suis Makro untuk dllexport/dllimport

Coretan kod yang disediakan mentakrifkan DLLEXPORT makro untuk menambah atribut dllexport atau dllimport pada fungsi berdasarkan nilai makro COMPILING_DLL. Walau bagaimanapun, persoalannya masih ada: bagaimana dan di mana COMPILING_DLL harus ditakrifkan?

Mentakrifkan COMPILING_DLL

Satu pilihan ialah menggunakan makro setempat yang ditetapkan lalai untuk projek. Makro ini boleh didapati dalam Properties -> C/C -> Prapemproses -> Definisi Prapemproses.

Sebagai contoh, jika projek anda dinamakan MyDLL, makro lalai ialah MYDLL_EXPORTS. Anda boleh menggunakan makro ini seperti berikut:

#ifdef MYDLL_EXPORTS
    #define DLLEXPORT __declspec(dllexport)
#else
    #define DLLEXPORT __declspec(dllimport)
#endif
Salin selepas log masuk

Apabila menyusun projek DLL, MYDLL_EXPORTS akan ditakrifkan, membolehkan DLLEXPORT sebagai "eksport". Apabila menggunakan DLL dalam kod klien, MYDLL_EXPORTS tidak akan ditakrifkan, membolehkan DLLEXPORT sebagai "import".

Pendekatan ini membolehkan anda menggunakan pengepala yang sama untuk menyusun DLL dan menggunakannya dalam kod klien.

Atas ialah kandungan terperinci Bagaimanakah Saya Mentakrifkan COMPILING_DLL dengan Betul untuk Makro DLLEXPORT/DLLIMPORT?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan