Makale numarası: 104248 - Son Gözden Geçirme: 05 Temmuz 2005 Salı - Gözden geçirme: 3.1 NASıL YAPıLıR: # Pragma init_seg denetim statik Yapım için kullanın...
Bu SayfadaÖzetDosya kapsamında bildirilen nesneleriniz statik yapılandırılan ve #pragama init_seg Önişlemci yönergesi kullanılarak destructed içinde Microsoft C++ Derleyici, denetime olanaklıdır. Ek bilgiInit_seg Önişlemci yönergesi için dört seçenek vardır: derleyici lib, kullanıcı ve "user_defined_segment_name." Kaynak kodunda bu yönerge, form yoktur:
#pragma init_seg(compiler)
#pragma init_seg(lib)
#pragma init_seg(user)
#pragma init_seg("user_defined_segment_name")
Geliştirici bir uygulamada Kurucular Grup olanağı vermek amacı, bu yönerge var. Bu, bazı nesneler üzerinde düzgün çalışabilmesi için başka nesneler varlığını güvendi yararlı olacaktır. # Pragma init_seg(compiler) kullanarak Gruplandırılmış nesneleri önce diğer tüm nesnelerin oluşturulması ve sonra diğer uygulamadaki tüm nesnelerin bozdu. Bu çalıştırma zamanı kitaplıkları nesneleri için kullanılır. Örneğin, # Pragma cin cout olabilir ve henüz, bu nesneleri init_seg(compiler) kullanan bir yıkıcı veya kurucu kullanılarak oluşturulması değil çünkü unwise olacaktır. # Pragma init_seg(lib) kullanarak Gruplandırılmış nesneleri sonra oluşturulur ve önce # Pragma init_seg(compiler) ile derlenmiş modülleri olan nesneler, ancak önce diğer uygulamadaki tüm nesnelerin destructed. # Pragma init_seg(user) kullanarak Gruplandırılmış nesneleri sonra oluşturulur ve # Pragma init_seg(compiler) # Pragma init_seg(lib) ile derlenmiş modülleri olan nesneler önce destructed. Diğer bir deyişle, # Pragma init_seg(user) kullanarak Gruplandırılmış nesneleri oluşturulur ve aynı anda # Pragma init_seg kullanarak gruplandırılmış değil, diğer tüm statik nesnelerin destructed. Belgelere bu noktasında tümüyle açık değildir. Bu nesneler <a0>kullanıcı</a0> grubundaki son oluşturulur belirtir. Bu, bu nesnelerin sonra oluşturulmuş ve önce derleyici ve lib grupları destructed anlamına gelir. Inşaat ve her gruptaki bozma sırasını denetleyebilirsiniz bir bağlama sırasını değiştirmek için yoludur. Daha önce bağlantı satırda görünen modüller sonra oluşturulur ve aynı init_seg grubundaki daha sonra bağlantı satırda görünen modülleri önce destructed. Kurucular görünümlerini, segmentleri, ters sırada verilir. C++ dil inşaat nonderived nesneler için herhangi bir sırada garanti unutmayın; bu nesnelerin oluşturulması ve temel sınıfları onlardan türetme yapıp yapmayacağınızı sınıfları önce oluşturulması C++ dil güvence altına alır. # Pragma init_seg("user_defined_segment_name") Önişlemci yönergesi Kurucular adresleri "user_defined_segment_name" mantıksal kesim yerleştirir. Yalnızca bu Kurucular çağırmak için başlatma kodunu değiştirirseniz, bu seçenek kullanışlıdır. Aşağıdaki kod örneği (dört kaynak dosyaları), yukarıdaki fikirleri gösterir. Tüm kaynak dosya derleniyor sonra bunları aşağıda belirtilen ve sonuç yürütülebilir dosyaları çalıştırmak iki şekilde bağlayabilirsiniz. Her çıktı init_seg seçenekleri bağlantı siparişinde olduğunu ve hangilerinin olduğunu gösterir. Visual C++ 32-bit Edition sürümleri kullanın: link file1 file2 file3 file4 /out:demo1.exe link file4 file3 file2 file1 /out:demo2.exe link file1 file2 file3 file4, demo1; link file4 file3 file2 file1, demo2; Örnek kodBu makaledeki bilginin uygulandığı durum:
Otomatik TercümeÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir. Makalenin İngilizcesi aşağıdaki gibidir:104248
(http://support.microsoft.com/kb/104248/en-us/
)
| Diğer Kaynaklar Diğer Destek Siteleri
ToplulukMakale çevirileri |






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email



Üste