__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.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin