Aracılığıyla paylaş


Alma ve verme

Bir uygulamaya ortak sembolleri içe ya da iki yöntemi kullanarak bir dll işlevi verme:

  • Dll dosyasını oluştururken bir modül (.def) tanım dosyası kullanın.

  • Anahtar sözcükler kullanın __declspec(dllimport) veya __declspec(dllexport) , ana uygulama işlev tanımında

.Def dosyası kullanma

Bir dll dosyasının çeşitli öznitelikleri açıklayan bir veya daha fazla modül deyimleri içeren bir metin dosyası (.def) modülü tanımı dosyasıdır. Kullanmak istemediğiniz, __declspec(dllimport) veya __declspec(dllexport) bir dll işlevi vermek dll .def dosyası gerektirir.

.Def dosyaları kullanabilirsiniz bir uygulamasına içe veya bir dll dosyasından dışa.

__Declspec kullanma

Visual C++ kullanan __declspec(dllimport) ve __declspec(dllexport) yerine __export Visual C++ 16-bit sürümlerini önceden kullanılan anahtar sözcük.

Kullanmanıza gerek yok __declspec(dllimport) doğru ancak böylece kodunuzun daha iyi kod üretmek derleyici sağlar. Derleyici, bu işlev dll içinde ya da değil, derleyici normalde dll sınır çapraz işlev çağrısında bulunması gerekebilen düzeyini atlar kod üretmeye olanak sağlayan var olup olmadığını belirlemek için daha iyi kod üretebilir. Ancak, kullanmanız gereken __declspec(dllimport) dll dosyasında kullanılan değişkenler alınacak.

Uygun .def dosyası dışa AKTARIR bölümü ile __declspec(dllexport) gerekli değildir. __declspec(dllexport) işlevleri .def dosyası kullanmadan bir .exe veya .dll dosyasını dışa aktarmak için kolay bir yol sağlamak için eklenmiştir.

Taşınabilir Win32 yürütülebilir biçim alır düzeltmek için Kullanıla gerekir sayfa sayısını en aza indirmek için tasarlanmıştır. Bunu yapmak için alma adresi tablosu adı verilen tek bir yerde herhangi bir program tüm alma adreslerini yerleştirir. Bu Yükleyici bu Imports erişirken, yalnızca bir veya iki sayfayı değiştirmek olanak sağlar.

Ne yapmak istiyorsunuz?

Ayrıca bkz.

Kavramlar

Visual C++ dll