Aracılığıyla paylaş


dllexport, dllimport

Microsoft'a Özgü

dllexport ve dllimport depolama sınıfı öznitelikleri, C ve C++ dillerine ilişkin Microsoft'a özgü genişletmelerdir.Bunları kullanarak DLL için işlevleri, verileri ve nesneleri içe ve dışa aktarabilirsiniz.

__declspec( dllimport ) declarator 
__declspec( dllexport ) declarator

Notlar

Bu öznitelikler, DLL'nin istemci arabirimini açıkça tanımlar ve bu yürütülebilir dosya veya başka bir DLL olabilir.İşlevlerin dllexport olarak bildirilmesi, en azından dışarı aktarılan işlevlerin belirtimi açısından, bir modül tanımlama (.def) dosyası ihtiyacını ortadan kaldırır.dllexport özniteliği __export anahtar sözcüğünün yerini alır.

Bir sınıf declspec(dllexport) olarak işaretlerine, sınıf hiyerarşisindeki sınıf şablonlarının her türlü özelleştirmesi açık olarak declspec(dllexport) şeklinde işaretlenir.Bu, sınıf şablonlarının açıkça oluşturulduğu anlamına gelir ve sınıf üyelerinin tanımlanması gerekir.

Bir işlevin dllexport öğesi, fonksiyonu düzenlenmiş adıyla gösterir.C++ işlevleri için ad değiştirmeyi içerir.C işlevleri veya dış "C" işlevi olarak bildirilen işlevler için bu, çağrı standardına göre platforma özgü düzenlemeler içerir.Ad düzenleme istemiyorsanız .def dosyasını (EXPORTS anahtar sözcüğü) kullanın.

dllexport veya dllimport bildirdiğinizde genişletilmiş öznitelik sözdizimi ve __declspec anahtar sözcüğünü kullanmanız gerekir.

Örnek

// Example of the dllimport and dllexport class attributes
__declspec( dllimport ) int i;
__declspec( dllexport ) void func();

Alternatif olarak, kodunuzu daha okunabilir hale getirmek için makro tanımlarını kullanabilirsiniz:

#define DllImport   __declspec( dllimport )
#define DllExport   __declspec( dllexport )

DllExport void func();
DllExport int i = 10;
DllImport int j;
DllExport int n;

Daha fazla bilgi için bkz:

END Microsoft'a Özgü

Ayrıca bkz.

Başvuru

__declspec

C++ Anahtar Sözcükleri