/ ltcg (bağlantı zamanı kod oluşturma)
/LTCG[:NOSTATUS|:STATUS|:PGINSTRUMENT|:PGOPTIMIZE|:PGUPDATE]
Notlar
: NOSTATUS | : Durum (isteğe bağlı)
Linker tam bağlantı yüzdesini gösteren bir ilerleme göstergesi görüntülenip görüntülenmeyeceğini belirtir. Varsayılan olarak, bu durum bilgileri görüntülenmez.: PGINSTRUMENT (isteğe bağlı)
Linker .pgd dosya Araçlı test hazırlık çalýþtýrýr verir belirtir. Kullanabileceğiniz /pgd bir dosya adı veya .pgd dosyasının konumunu belirtmek için bir seçenek.Araçlı kaynak dosyadan toplanan veriler, en iyileştirilmiş bir görüntü oluşturmak için kullanılır. Daha fazla bilgi için bkz: Profil destekli iyileştirme. Bu seçenek kısa /LTCG:PGI biçimidir.
: PGOPTIMIZE (isteğe bağlı)
Linker Araçlı ikili en iyileştirilmiş bir görüntü oluşturmak için çalıştırdıktan sonra oluşturulan profil verileri kullandığını belirtir. Tüm girdi dosyaları /LTCG:PGI belirtilmiş dosyalar için aynı olması gerekir. Daha fazla bilgi için bkz: Profil destekli iyileştirme. Bu seçenek kısa /LTCG:PGO biçimidir.: pgupdate (isteğe bağlı)
Eklenen veya ne belirtildi tarafından değiştirilen girdi dosyalarının listesini sağlar: PGINSTRUMENT aşaması. Ancak, yeni giriş dosyaları profil destekli iyileştirmeleri kullanarak getirilmemiştir ve profil destekli iyileştirmeleri kullanarak değiştirilmiş bir giriş dosyası geçersiz kılmak için bu kodu araçları aşamasında toplanan profil verileri değişen bölümlerini getirilmemiştir. Daha fazla bilgi için bkz: Profil destekli iyileştirme. Bu seçenek kısa /LTCG:PGU biçimidir.
/ltcg seçeneği, derleyici arayın ve bütün programı en iyi duruma getir linker söyler. Ayrıca yapabilirsiniz profil destekli en iyi duruma getirme. Daha fazla bilgi için bkz: Profil destekli iyileştirme.
Aşağıdaki istisnalar /LTCG:PGOPTIMIZE bağlantı Oluşturucu Seçenekleri eklenemiyor veya /LTCG:PGUPDATE çalıştırdığınızda değil çalıştırmak /LTCG:PGINSTRUMENT belirtilmiş:
Belirtilen bağlantı Oluşturucu seçenekleri için /LTCG:PGINSTRUMENT için /LTCG:PGOPTIMIZE belirtilmesi gerekmez; Bunlar örtülü.
Bu konu geri kalanını /ltcg bağlantı zamanı kod oluşturma açısından ele alınmaktadır.
/ ltcg örtülü /gl.
Kullanarak derlenen modül aktarılırsa linker bağlantı zamanı kod oluşturma çağırır /GL veya MSIL Modülü (bkz: dosyaları bağlayıcı olarak .netmodule giriş). Açıkça belirtmezseniz /LTCG ne zaman geçirmek /GL veya bağlayıcı linker sonunda MSIL modüllerle bunu algılar ve bağlantıyı kullanarak yeniden /LTCG. Açıkça belirtmek /LTCG ne zaman geçirmek /GL ve MSIL modüllerle Bağlayıcısı için olası en hızlı performansı.
/LTCGile kullanılmak üzere geçerli değil /INCREMENTAL.
Zaman /LTCG kullanarak derlenmiş modüller bağlamak için kullanılan /Og, /O1, /O2, veya /Ox, aşağıdaki en iyileştirmeleri gerçekleştirilir:
Çapraz-inlining Modülü
İnterprocedural kaydı ayırma (yalnızca 64 bit işletim sistemleri)
Özel çağrı kuralı (yalnızca x 86)
Küçük tls öteleme (yalnızca x 86)
Yığın çift hizalama (yalnızca x 86)
İyileştirilmiş bellek Kesinleştirme (global değişkenler ve giriş parametreleri için daha iyi girişim bilgileri)
Not
Bağlayıcı karar verir hangi iyileştirmeleri her işlevi ile derlenmiş ve bağlantı zaman aynı iyileştirmeleri uygulanır.
Kullanarak /LTCG ve /Ogt çift hizalama iyileştirme neden olur.
/LTCG Ve /Ogs belirtilmiş, çift hizalama yapılamadı. Bir uygulamada işlevlerin çoğunu hız için boyutu için derlenmiş birkaç işlevleri ile derlenir, (örneğin, kullanarak en iyi duruma pragma), derleyici çift çift hizalama gerektiren işlevleri çağırırsanız boyutunu optimize işlevler hizalar.
Derleyici tüm işlev çağrısı sitelerini tanımlamak, derleyici bir işlev açık Arama kuralı değiştiricileri yoksayar ve işlev çağırma kuralı en iyi şekilde çalışır:
parametre kayıtlarına geçirmek
hizalama için parametreleri yeniden sıralama
kullanılmayan Parametreler kaldırma
İşlev işaretçisi bir işlevi çağrılırsa veya işlevi markasını kullanarak derlenmiş HTML Modülü dışında çağrılırsa /GL, derleyici, bir işlev çağırma kuralı en iyi duruma getirmeyi denemez.
Not
Kullanırsanız, /LTCG ve mainCRTStartup, yeniden uygulamanız genel nesneler başlatılan önce yürütülen kullanıcı kodu ilgili öngörülemeyen davranışlara sahip olabilir.Bu sorunu gidermek için üç yolu vardır: mainCRTStartup yeniden tanımlamak değil, mainCRTStartup kullanarak içeren dosyayı derlemeye değil /LTCG, veya global değişkenler ile nesne statik olarak başlatılamadı.
/ ltcg ve MSIL modülleri
Kullanarak derlenmiş modüller /gl ve /clr linker girdi olarak kullanılan, /LTCG belirtilir.
/LTCGYerel ve yönetilen nesne dosyaları karma yerel nesne dosyalarını kabul edebilir (kullanarak derlenmiş /clr), saf nesne dosyaları (kullanarak derlenmiş /clr:pure) ve güvenli nesne dosyaları (kullanarak derlenmiş /clr:safe)
/LTCGgüvenli kabul edebilirsiniz. kullanılarak oluşturulan netmodules /clr:safe /LN Visual C++ ve /target:module , Visual Studio derleyici. .Netmodules üretilen kullanarak**/clr** veya /clr:pure tarafından kabul edilmez /LTCG.
Yerel modülleri kullanarak derlenmiş /LTCG:PGI kabul etmiyor /GL ve /clr, ya da saf modülleri (kullanılarak üretilen /clr:pure)
Visual Studio geliştirme ortamındaki bu derleyici seçeneğini ayarlamak için
Projeyi Özellik sayfaları iletişim kutusu. Bkz: Proje ayarlarını değiştirme
Seçin Yapılandırma özellikleri klasörü.
Seçin Genel özellik sayfası.
Değiştirmek Tam programı en iyi duruma getirme özelliği.
De uygulayabilirsiniz /LTCG seçerek özel yapýlar için Yapı, Profil destekli iyileştirme menü çubuğunda veya kısayol menüsünde Proje için profil destekli iyileştirme seçeneklerinden birini seçerek.