/ opt (en iyi duruma getirme)
BAĞLANTI sırasında bir yapı gerçekleştiren en iyi duruma getirme denetler.
/OPT:{REF | NOREF}
/OPT:{ICF[=iterations] | NOICF}
Değişkenler
REF | NOREF
/OPT:REFİşlevler ve/veya hiçbir zaman başvurulan veri ortadan iken /OPT:NOREF işlevleri ve/veya hiçbir zaman başvurulan verileri tutar.BAĞLANTIYI başvurulmayan paketlenmiş işlevleri varsayılan olarak kaldırır.Bir nesne ile derlenmiştir paketlenmiş işlevler (COMDATs) varsa /Gy seçeneği.Bu iyileştirme, karşılıklı comdat eleme denir.Bu varsayılanı geçersiz kılar ve programda başvurulmayan COMDATs korumak için /OPT:NOREF belirtin.Kullanabileceğiniz EXCLUDE Dışlama kuralı belirler belirli bir sembol kaldırılmasını geçersiz kıl seçeneği.
/debug belirtilirse, varsayılan /OPT olan NOREF (aksi durumda olan REF), ve tüm işlevleri görüntüde korunsa.Bu varsayılanı geçersiz kılar ve hata ayıklama yapı en iyi duruma getirmek için /OPT:REF./OPT:REF Seçeneğini devre dışı bırakır artımlı bağlama.
Açıkça veri bir comdat olarak işaretlemek zorunda; kullanmak __declspec(selectany).
/OPT:REF Belirtilirse, /OPT:ICF varsayılan olarak açıktır.İsterseniz /OPT:REF ama /OPT:ICF, aşağıdakileri belirtmeniz gerekir:
link /opt:ref /opt:noicf
Belirtme /OPT:ICF etkinleştirmek değil /OPT:REF seçeneği.
ICF[= iterations**] | NOICF**
Use /OPT:ICF[=iterations] aynı comdat Katlama gerçekleştirilecek.Yedek COMDATs linker çıktısı kaldırılabilir.iterations simgeler çoğaltmalar için çapraz geçiş sayısını belirtir.Varsayılan yineleme iki sayısıdır.Ek yineleme önceki tekrarda Katlama boyunca sınamayla daha fazla çoğaltmaları bulmak.Linker davranış bir fark olduğunu unutmayın, ICF ile birlikte varsayılan olarak etkin olan /OPT:REF açıkça belirtilen ve açıkça belirtirken /OPT:REF,ICF.Varsayılan ICF ile /OPT:REF salt okunur veri katlama yok.Bu, herhangi bir .rdata, .pdata ve .xdata içerir.Ancak, varsayılan ICF ile /OPT:REF sonuçları daha az işlevlerinde katlanır görüntülerde üretilirken Itanium ve x64 işlevleri bu modüllerde daha .pdata ve .xdata gibi veri bağımlılık yalnızca okuma izniniz olduğundan.Tam almak için ICF, açıkça belirtmek /OPT:ICF.
İşlevler yerleştirilir ile COMDATs /Gy derleyici seçeneği ve sabit veri COMDATs içinde yerleştirilir.Bkz: olan kayıtları seçer ilgili bir örnek için Katlama verileri belirtmek.
ICFVarsayılan olarak açıktır, REF açık olduğundan ve açıkça bir hata ayýklama yapýsýnýn Confi açık gerekir.Belirtmek mümkündür NOICF , REF belirtilir.
[!NOT]
/OPT:ICFneden farklı işlevler için atanan aynı adres veya yalnızca veri üyeleri okuyun (const değişkenleri derlenmiş olan /Gy).Bu nedenle, /OPT:ICF işlevleri veya farklı olan salt okunur veri üyeleri adresinde bağlıdır bir program kesebilirsiniz.Daha fazla bilgi için bkz. /Gy (enable işlev düzeyinde bağlama).
Notlar
En iyi duruma getirme genellikle görüntü boyutunu azaltmak ve maliyeti daha yüksek bağlantı zaman program hızını artırır.
Kullanabileceğiniz /verbose tarafından kaldırılan fonksiyonları görmek için seçenek /OPT:REF ve tarafından konulmuş işlevleri /OPT:ICF.
Visual Studio geliştirme ortamında bu bağlayıcı seçeneğini ayarlamak için
Projenin Özellik Sayfaları iletişim kutusunu açın.Ayrıntılı bilgi için bkz: Visual C++ proje özelliklerini ayarlama.
Tıklatın Linker klasörü.
Tıklatın en iyi duruma getirme özellik sayfası.
Aşağıdaki özelliklerden birini değiştirin:
comdat Katlama etkinleştir
Windows 98 için en iyi duruma getirme
Başvurular
Bu bağlayıcı seçeneği programlı olarak ayarlamak için
- Bkz: EnableCOMDATFolding ve OptimizeReferences özellikleri.