Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Dynamic-Link Kitaplığı (DLL) genel veriler veya yerel veriler içerebilir.
Değişken Kapsamı
DLL kaynak kodu dosyasında genel olarak bildirilen değişkenler, derleyici ve bağlayıcı tarafından genel değişkenler olarak değerlendirilir, ancak belirli bir DLL'yi yükleyen her işlem bu DLL'nin genel değişkenlerinin kendi kopyasını alır. Statik değişkenlerin kapsamı, statik değişkenlerin bildirildiği blokla sınırlıdır. Sonuç olarak, her işlemin varsayılan olarak kendi DLL genel ve statik değişkenleri örneği vardır.
Not
Geliştirme araçlarınız varsayılan davranışı geçersiz kılmanıza izin verebilir. Örneğin, Visual C++ derleyicisi #pragma bölüm ve bağlayıcı /SECTION seçeneğini destekler. Daha fazla bilgi için geliştirme araçlarınızla birlikte verilen belgelere bakın.
Dinamik Bellek Ayırma
DLL bellek ayırma işlevlerinden herhangi birini (GlobalAlloc, LocalAlloc, HeapAllocve VirtualAlloc) kullanarak bellek ayırdığında, bellek çağrı işleminin sanal adres alanında ayrılır ve yalnızca bu işlemin iş parçacıkları tarafından erişilebilir.
DLL, işlemler arasında paylaşılabilen belleği ayırmak için dosya eşlemeyi kullanabilir. Adlandırılmış paylaşılan bellek oluşturmak için dosya eşlemenin nasıl kullanılacağına ilişkin genel bir tartışma için bkz. dosya eşleme . Dosya eşleme kullanarak paylaşılan belleği ayarlamak için DllMain işlevini kullanan bir örnek için bkz. Dynamic-Link Kitaplığında Paylaşılan Belleği Kullanma.
İş Parçacığı Yerel Depolama
İş parçacığı yerel depolama (TLS) işlevleri, dll'nin çok iş parçacıklı bir işlemin her iş parçacığı için farklı bir değer depolamak ve almak için bir dizin ayırmasını sağlar. Örneğin, bir elektronik tablo uygulaması, kullanıcı her yeni elektronik tablo açtığında aynı iş parçacığının yeni bir örneğini oluşturabilir. Çeşitli elektronik tablo işlemleri için işlevler sağlayan bir DLL, her elektronik tablonun geçerli durumu (satır, sütun vb.) hakkındaki bilgileri kaydetmek için TLS kullanabilir. İş parçacığı yerel depolamasının genel bir tartışması için bkz. İş Parçacığı Yerel Depolama . İş parçacığı yerel depolamayı ayarlamak için DllMain işlevini kullanan bir örnek için bkz. Dynamic-Link Kitaplığında yerel depolamayı kullanma.
Windows Server 2003 ve Windows XP: Visual C++ derleyicisi, iş parçacığı yerel değişkenlerini bildirmenizi sağlayan bir söz dizimini destekler: _declspec(iş parçacığı). Bir DLL'de bu söz dizimini kullanırsanız, Windows Vista'nın önceki sürümlerinde LoadLibrary veya LoadLibraryEx kullanarak DLL'yi açıkça yükleyemezsiniz. DLL'niz açıkça yüklenecekse, _declspec(iş parçacığı) yerine iş parçacığı yerel depolama işlevlerini kullanmanız gerekir.