Aracılığıyla paylaş


__declspec(dllimport) kullanarak bir uygulamaya aktarma

DLL tarafından tanımlanan genel simgeleri kullanan bir programın bunları içeri aktardığı söylenir. Dll'lerinizi kullanarak oluşturmak üzere kullanan uygulamalar için üst bilgi dosyaları oluşturduğunuzda, ortak simgelerin bildirimlerini kullanın __declspec(dllimport) . anahtar sözcüğü __declspec(dllimport) ister .def dosyalarıyla ister anahtar sözcükle __declspec(dllexport) dışarı aktarın çalışır.

Kodunuzu daha okunabilir hale getirmek için, için __declspec(dllimport) bir makro tanımlayın ve ardından içeri aktarılan her simgeyi bildirmek için makroyu kullanın:

#define DllImport   __declspec( dllimport )

DllImport int  j;
DllImport void func();

İşlev bildirimlerinde kullanmak __declspec(dllimport) isteğe bağlıdır, ancak bu anahtar sözcüğü kullanırsanız derleyici daha verimli kod üretir. Ancak, DLL'nin genel veri simgelerine ve nesnelerine erişmek için içeri aktarılan yürütülebilir dosya için kullanmanız __declspec(dllimport) gerekir. DLL'nizin kullanıcılarının yine de içeri aktarma kitaplığına bağlanması gerektiğini unutmayın.

Hem DLL hem de istemci uygulaması için aynı üst bilgi dosyasını kullanabilirsiniz. Bunu yapmak için, DLL'yi mi yoksa istemci uygulamasını mı oluşturduğunuzu gösteren özel bir ön işlemci simgesi kullanın. Örnek:

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

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

Ne yapmak istiyorsunuz?

Ne hakkında daha fazla bilgi edinmek istiyorsunuz?

Ayrıca bkz.

Bir Uygulamaya Aktarma