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?
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
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!