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.
Proje>Özellikleri>Yapılandırma Özellikleri>C/C++ altında aşağıdaki özellik sayfaları bulunur:
C/C++ Genel özellikleri
Ek Dahil Edilecek Dizinler
Ekleme yoluna eklenecek bir veya daha fazla dizin belirtir. Birden fazla dizin varsa dizinleri noktalı virgülle (;) ayırın.
/I (Ek ekleme dizinleri) derleyici seçeneğini ayarlar.
Ek #using Dizinleri
Bir yönergeye geçirilen adları çözümlemek için aranacak bir veya daha fazla dizin belirtilir. Birden fazla dizin eklerseniz, dizinleri noktalı virgülle (;) ayırın.
/AI Derleyici seçeneğini ayarlar.
Ek BMI Dizinleri
Yönergeye geçirilen adları çözümlemek için aranacak bir import veya daha fazla dizin belirtir. Birden fazla dizin eklerseniz, dizinleri noktalı virgülle (;) ayırın.
/ifcSearchDir[path] Derleyici seçeneğini ayarlar.
Ek Modül Bağımlılıkları
Yönergeye geçirilen adları çözümlemek için kullanılacak bir veya birden fazla import modülü belirtir. Birden fazla dizin eklerseniz, dizinleri noktalı virgülle (;) ayırın.
/reference Derleyici seçeneğini ayarlar.
Ek Başlık Birimi Bağımlılıkları
Bir veya daha fazla üst bilgi birimini, bir import üst bilgi yönergesine geçirilen adları çözümlemek için belirtir. Birden fazla dizin eklerseniz, dizinleri noktalı virgülle (;) ayırın.
/headerUnit Derleyici seçeneğini ayarlar.
Modül Bağımlılıkları için Kaynakları Tara
Bu özellik Evet olarak ayarlandığında, derleyici modül ve üst bilgi birimi bağımlılıkları için yalnızca modül arabirimi ve üst bilgi birimi kaynaklarını değil tüm C++ kaynaklarını tarar. Derleme sistemi, tüm içeri aktarılan modüllerin ve üst bilgi birimlerinin, bunlara bağımlı dosyaları derlemeden önce derlenmesini sağlayan tam bağımlılıklar grafiğini oluşturur.
Modül Bağımlılıkları için Kaynakları Tara ve Include İfadelerini Import İfadelerine Çevir seçeneklerinin her ikisi de Evet olarak ayarlandığında, üst bilgi dosyasıyla aynı dizinde bulunan bir header-units.json dosyasında belirtilen herhangi bir üst bilgi dosyası, üst bilgi birimi olarak derlenir.
Uzantısı .ixx olan dosyalar ve Dosya Özellikleri>C/C++>Advanced>Compile As özelliği C++ Üst Bilgi Birimi Olarak Derle (/exportHeader) olarak ayarlanmış dosyalar her zaman taranır.
uzantısına .ixx sahip dosyalar ve Dosya özellikleri>C/C++>Derleme Biçimi özelliği C++ Üst Başlık Birimi (/exportHeader) olarak ayarlanan dosyalar daima taranır.
Dahil Et kısmını İçe Aktarmalar olarak çevir
Bu özellik Evet olarak ayarlandığında, belirli koşullar karşılanırsa derleyici bir #include yönergeyi yönerge import olarak kabul eder: Üst bilgi dosyası aynı dizindeki bir header-units.json dosyada belirtilir ve üst bilgi dosyası için derlenmiş üst bilgi birimi (dosya .ifc ) kullanılabilir. Aksi takdirde, üst bilgi dosyası normal #includeolarak değerlendirilir.
header-units.json dosyası, sembol yinelemesi olmadan her #include için üstbilgi üniteleri oluşturmak için kullanılır.
Include’ları Import’lara Çevir ve Modül Bağımlılıkları için Kaynakları Tara seçeneklerinin her ikisi de Evet olarak ayarlandığında, derleyici üst bilgi birimlerine derlenebilen tüm üst bilgi dosyalarını otomatik olarak bulur. Bu özellik derleyici seçeneğini ayarlar /translateInclude .
Hata Ayıklama Bilgileri Biçimi
Derleyici tarafından oluşturulan hata ayıklama bilgilerinin türünü belirtir. Bu özellik için uyumlu bağlayıcı ayarları gerekir. Ayarlar /Z7, /Zi, /ZI (Hata ayıklama bilgileri biçimi) derleyici seçeneklerini.
Seçenekler
-
Hiçbiri (
None) - Hata ayıklama bilgisi üretmez, bu nedenle derleme daha hızlı olabilir. -
C7 uyumlu (
OldStyle) - Tam sembolik hata ayıklama bilgileri içeren nesne dosyaları oluşturur. PDB dosyası üretilmemiş. -
Program Veritabanı (
ProgramDatabase) - Hata ayıklayıcıyla kullanmak üzere tür bilgilerini ve sembolik hata ayıklama bilgilerini içeren bir program veritabanı (PDB) oluşturur. Sembolik hata ayıklama bilgileri değişkenlerin ve işlevlerin adlarını ve türlerini ve satır numaralarını içerir. -
Düzenle ve Devam Et için Program Veritabanı (
EditAndContinue) - Daha önce açıklandığı gibi Düzenle ve Devam Et özelliğini destekleyen bir biçimde bir program veritabanı oluşturur.
Yalnızca Kendi Kodumun Hata Ayıklamasını Destekle
Bu derleme ünitesinde Just My Code hata ayıklamasını etkinleştirmek için destekleyici kod ekler. Ayarlar /JMC.
C++ Dinamik Hata Ayıklama desteği
(Önizleme) /dynamicdeopt açmak için derleyici bayrağını ayarlar. İyileştirilmiş kesme noktaları yerleştirin ve isteğe bağlı işlev kullanımdan kaldırma özelliğiyle her yere adımlayın. İyileştirilmiş kodda hata ayıklamak için bu modu kullanın.
Ortak Dil Çalışma Zamanı Desteği
.NET çalışma zamanı hizmetini kullanın. Bu anahtar diğer bazı anahtarlarla uyumsuz. Ayrıntılar için /clr anahtar ailesine ilişkin belgelendirmeye bakın.
Seçenekler
- Ortak Dil Çalışma Zamanı Desteği Yok - Ortak Dil Çalışma Zamanı Desteği Yok.
- Ortak Dil RunTime Desteği - Uygulamanız için diğer CLR uygulamaları tarafından kullanılabilecek meta veriler oluşturur. Ayrıca uygulamanızın diğer CLR bileşenlerinin meta verilerindeki türleri ve verileri kullanmasına da olanak tanır.
- Pure MSIL Ortak Dil Çalışma Zamanı Desteği - MSIL'e derlenmiş yerel türler içerebilmesine rağmen, yerel yürütülebilir kod içermeyen yalnızca MSIL çıkış dosyası üretir.
- Güvenli MSIL Ortak Dil RunTime Desteği - Yalnızca MSIL (yerel yürütülebilir kod yok) ve doğrulanabilir bir çıkış dosyası oluşturur.
Windows Çalışma Zamanı Uzantısını Tüketme
Windows Çalışma Zamanı Dil Uzantılarını kullanma. Ayarlar /ZW.
Başlangıç Başlığını Gizle
Derleyici başlatıldığında oturum açma başlığının görüntülenmesini ve derleme sırasında bilgilendirme iletilerinin görüntülenmesini engeller.
Uyarı Düzeyi
Derleyicinin kod hataları hakkında ne kadar katı olmasını istediğinizi seçin. Ayarlar /W0 - /W4.
Seçenekler
- Tüm Uyarıları Kapat - Düzey 0 tüm uyarıları devre dışı bırakır.
- Düzey1 - Düzey 1 ciddi uyarılar görüntüler. Düzey 1, komut satırındaki varsayılan uyarı düzeyidir.
- Düzey2 - Düzey 2, tüm düzey 1 uyarılarını ve düzey 1'den daha az şiddetli olan uyarıları görüntüler.
- Düzey3 - Düzey 3, üretim amacıyla önerilen tüm düzey 2 uyarılarını ve diğer tüm uyarıları görüntüler.
- Seviye 4 - Seviye 4, seviye 3'teki tüm uyarıları ve çoğu durumda güvenle yok sayılabilecek bilgi amaçlı uyarıları görüntüler.
- EnableAllWarnings - Varsayılan olarak devre dışı bırakılanlar da dahil olmak üzere tüm uyarıları etkinleştirir.
Uyarıları Hata Olarak Değerlendir
Derleyici uyarılarını hata olarak ele alır. Yeni bir proje için en iyisi her derlemede kullanmak /WX olabilir. Bulunması zor kod hatalarını en aza indirmek için tüm uyarıları çözün.
Uyarı Sürümü
Derleyicinin belirli bir sürümünden sonra gelen uyarıları gizleyin. Ayarlar /Wv:xx[.yy[.zzzzz]].
Tanılama Biçimi
Tanılama iletilerinde sütun bilgileri ve kaynak bağlamı ile zengin tanılamayı etkinleştirir.
Seçenekler
- Şapka işareti - Tanılama iletisinde sütun bilgilerini sağlar. Ayrıca, hatanın bulunduğu sütunu gösteren bir düzeltme işaretiyle (^) birlikte ilgili kaynak kod satırını da çıktı verir.
- Sütun Bilgisi - Ayrıca, uygun olduğunda tanılamanın verildiği satır içinde sütun numarasını sağlar.
- Klasik - Satır numarasıyla yalnızca önceki, kısa tanılama iletilerini verir.
SDL denetimleri
Ek Güvenlik Geliştirme Yaşam Döngüsü (SDL) tarafından önerilen denetimler. Ek güvenli kod oluşturma özelliklerinin etkinleştirilmesini içerir ve güvenlikle ilgili ek uyarıların hata olarak değerlendirilmesini etkinleştirir. Küme /sdl, /sdl-.
Çok işlemcili Derleme
Çok işlemcili derlemeyi etkinleştirin.
/MP Derleyici seçeneğini ayarlar.
Address Sanitizer'ı Etkinleştir
Programı AddressSanitizer enstrümantasyonu ile derler ve bağlar. Bu özellik şu anda x86 ve x64 hedef derlemelerini destekler.
/fsanitize Derleyici seçeneğini ayarlar.
Fuzzer Desteğini Etkinleştirme (Deneysel)
Fuzzer ile programları derler. En iyi sonuçlar için AddressSanitizer'ı etkinleştirin. Şu anda x86 ve x64 derlemeleri için kullanılabilir. Ayarlar /fsanitize=fuzzer.
C/C++ İyileştirme özellikleri
İyileştirme
Kod iyileştirme için bir seçenek belirleyin. Belirli iyileştirme seçeneklerini kullanmak için Özel'i seçin. Ayarlamalar /Od, /O1, /O2 kümelerini ayarlar.
Seçenekler
- Özel - Özel iyileştirme.
- Devre dışı - Optimizasyonu devre dışı bırakma.
-
Maksimum Optimizasyon (Boyutu Önceliklendir) -
/Os /Oy /Ob2 /Gs /GF /Gyile eşdeğerdir. -
Maksimum Optimizasyon (Hız Öncelikli) -
/Oi /Ot /Oy /Ob2 /Gs /GF /Gyile eşdeğerdir. -
Optimizasyonlar (Hızı Önceliklendir) -
/Oi /Ot /Oy /Ob2ile eşdeğerdir.
Satır içi Fonksiyon Açılımı
Derleme için satır içi işlev genişletme düzeyini seçin. Ayarlar /Ob.
Seçenekler
- Varsayılan
- Devre dışı - Varsayılan olarak açık olan satır içi genişletmeyi devre dışı bırakır.
-
Yalnızca __inline - Yalnızca ,
inlineveya__forceinlineolarak__inlineişaretlenmiş işlevleri genişletir. Veya bir sınıf bildirimi içinde tanımlanan bir C++ üye işlevinde. -
Uygun Olan Herhangi Biri -
inlineveya__inlineolarak işaretlenmiş işlevleri ve derleyicinin seçtiği diğer işlevleri genişletir. (Genişletme, derleyicinin takdirine bağlıdır. Derleyici tarafından seçilen bu genişletme genellikle otomatik çizgi olarak adlandırılır.)
İç İşlevleri Etkinleştirme
İç işlevleri etkinleştirir. İç işlevlerin kullanılması daha hızlı ama büyük olasılıkla daha büyük kodlar oluşturur. Ayarlar /Oi.
Boyut veya hız tercihi
Kod boyutunun veya kod hızının tercih edilip edilmeyeceği.
Global Optimization açık olmalıdır. Küme /Ot, /Os.
Seçenekler
- Küçük kodu tercih etme - Derleyiciye boyuta hıza göre destek verme talimatı vererek EXE'lerin ve DLL'lerin boyutunu en aza indirir.
- Hızlı kodu tercih etme - Derleyiciye boyuta göre hızı tercih etme talimatı vererek EXE'lerin ve DLL'lerin hızını en üst düzeye çıkarır. (İyileştirmeler etkinleştirildiğinde bu değer varsayılan değerdir.)
- Hiçbiri - Boyut ve hız iyileştirmesi yok.
Çerçeve İşaretçilerini Hariç Tut
Çağrı yığınında çerçeve işaretçilerinin oluşturulmasını engeller.
Fiber Güvenli İyileştirmeleri Etkinleştirme
İş parçacığına yerel depolamaya erişmek için fiber kullanan uygulamalar için fiber açısından güvenli optimizasyonları etkinleştirir. Ayarlar /GT.
Tüm Program İyileştirme
Bağlama zamanına kadar kod oluşturmayı geciktirerek modüller arası iyileştirmeleri etkinleştirir. Bağlantı Zaman Kodu Oluşturma bağlayıcı seçeneğini gerektirir. Ayarlar /GL.
C/C++ Önişlemci özellikleri
Önişlemci Tanımları
Kaynak dosyanız için ön işleme simgelerini tanımlar.
Önişlemci Tanımlarını Tanımsızlaştırma
Tanımlanmamış bir veya daha fazla önişlemci belirtir. Ayarlar /U.
Tüm Önişlemci Tanımlarını Tanımsız Bırak
Önceden tanımlanmış tüm ön işlemci değerlerini tanımsız hale getirir. Ayarlar /u.
Standart Ekleme Yollarını Yoksay
Derleyicinin INCLUDE ortam değişkenlerinde belirtilen dizinlerdeki ekleme dosyalarını aramasını engeller.
Dosyaya Ön İşleme
C ve C++ kaynak dosyalarını önceden işler ve önceden işlenmiş çıkışı bir dosyaya yazar. Bu seçenek derlemeyi gizler ve dosya .obj üretmez.
Satır Numaralarını Bastırmak için Ön İşleme
#line yönergeleri olmadan önceden işle.
Açıklamaları Koru
Dosyalarda ve diğer ön işlemci çıkışında .i C ve C++ kaynak açıklamalarını (// ve /* ... */) korumak için bu seçeneği etkinleştirin. Önişlemci varsayılan olarak açıklamaları kaldırır.
Önişlem seçeneklerinden en az birini ayarlamayı gerektirir. Ayarlar /C.
Standart Uyumlu Önişlemciyi Kullanma
Standart uyumlu önişlemci (/Zc:preprocessor kullanın). Şu anda /std:c11 ve sonraki sürümler tarafından ima edilmektedir. Eski ön işlemciyi kullanmak için bu özelliği Hayır olarak ayarlayın.
C/C++ Kod Oluşturma özellikleri
Dize Havuzunu Etkinleştirme
Aynı dizeleri derlenmiş programda tek bir salt okunur kopyada birleştiren dize havuzunu etkinleştirmek için bu özelliği etkinleştirin. Bu, daha küçük programlara neden olabilir.
/O1, /O2 ve /GF, /ZI seçeneğini otomatik olarak ayarlar.
En Az Yeniden Derlemeyi Etkinleştir
Değiştirilen C++ sınıf tanımlarını içeren üst bilgi (.h) dosyalarını içeren C++ kaynak dosyalarının yeniden derlenip derlenmeyeceğini belirleyen en az yeniden derlemeyi etkinleştirir.
C++ Özel Durumlarını Etkinleştirme
Derleyici tarafından kullanılacak özel durum işleme modelini belirtir.
Seçenekler
-
SEH Özel Durumları ile Evet - Zaman uyumsuz (yapılandırılmış) ve zaman uyumlu (C++) özel durumları yakalayan özel durum işleme modeli. Ayarlar
/EHa. -
Evet - Yalnızca C++ özel durumlarını yakalayan ve derleyiciyi işlevlerin hiçbir zaman C++ özel durumu oluşturmadığını varsayacak şekilde yapılandıran
extern "C"özel durum işleme modeli. Ayarlar/EHsc. -
Extern C işlevleriyle evet - Yalnızca C++ özel durumlarını yakalayan ve derleyiciyi işlevlerin özel durum oluşturduğunu varsayacak şekilde yapılandıran
extern "C"özel durum işleme modeli. Ayarlar/EHs. - Hayır - Özel durum işleme yok.
Daha Küçük Tür Denetimi
Daha küçük türlere dönüştürme denetimini etkinleştirir. Hata ayıklama dışındaki herhangi bir iyileştirme türüyle uyumsuz. Ayarlar /RTCc.
Temel Çalışma Zamanı Denetimleri
Temel çalışma zamanı hata denetimlerini etkinleştirir. Hata ayıklama dışındaki herhangi bir iyileştirme türüyle uyumsuz. Ayarlar /RTCs, /RTCu, /RTC1.
Seçenekler
- Yığın Çerçeveleri - Yığın çerçeveleri için çalışma zamanı hata denetimini etkinleştirir.
- Başlatılmamış değişkenler - Bir değişkenin başlatılmadan ne zaman kullanıldığını bildirir.
-
Her ikisi de (/RTC1, /RTCsu ile eşdeğerdir) - eşdeğeri
/RTCsu. - Varsayılan - Varsayılan çalışma zamanı denetimleri.
Çalışma Zamanı Kitaplığı
Bağlama işlemi için bir çalışma zamanı kitaplığı belirtir. Set /MT, /MTd, /MD, /MDd.
Seçenekler
- Çok iş parçacıklı - Uygulamanızın çalışma zamanı kitaplığının çok iş parçacıklı, statik sürümünü kullanmasını sağlar.
-
Çok İş Parçacıklı Hata Ayıklama -
_DEBUGtanımlar_MT. Bu seçenek ayrıca derleyicinin LIBCMTD.lib kitaplık adını.objdosyasına yerleştirmesine de neden olur; böylece bağlayıcı dış simgeleri çözümlemek içinLIBCMTD.libkullanır. -
Çok iş parçacıklı DLL - Uygulamanızın çalışma zamanı kitaplığının DLL'ye özgü, çok iş parçacıklı sürümünü kullanmasına neden olur.
_MTve_DLLtanımlar ve derleyicinin MSVCRT.lib kütüphane adını.objdosyasına yerleştirmesine neden olur. -
Çok İş Parçacıklı Hata Ayıklama DLL’i -
_MT,_DLLve_DEBUGöğelerini tanımlar ve uygulamanızın çalışma zamanı kitaplığının hata ayıklama, DLL’ye özgü, çok iş parçacıklı sürümünü kullanmasına neden olur. Ayrıca, derleyicinin dosyaya MSVCRTD.lib kitaplık adını yerleştirmesine.objde neden olur.
Yapı Üyesi Hizalaması
Yapı üyesi hizalaması için 1, 2, 4, 8 veya 16 baytlık sınırları belirtir. Ayarlar /Zp.
Seçenekler
-
1 Bayt - Yapıları tek baytlık sınırlarda paketler. ile
/Zpaynı. - 2 Bayt - yapıları iki baytlık sınırlarda paketler.
- 4 Bayt - Yapıları dört baytlık sınırlarda paketler.
- 8 Bayt - Yapıları sekiz baytlık sınırda paketler (varsayılan).
- 16 Bayt - Yapıları on altı baytlık sınırlarda paketler.
- Varsayılan - Varsayılan hizalama ayarları.
Yapı üyesi hizalaması için 1, 2, 4 veya 8 baytlık sınırları belirtir. Ayarlar /Zp.
Seçenekler
-
1 Bayt - Yapıları tek baytlık sınırlarda paketler. ile
/Zpaynı. - 2 Bayt - yapıları iki baytlık sınırlarda paketler.
- 4 Bayt - Yapıları dört baytlık sınırlarda paketler.
- 8 Bayt - Yapıları sekiz baytlık sınırda paketler (varsayılan).
- Varsayılan - Varsayılan hizalama ayarları.
Güvenlik Denetimi
Saldırganların uygulamanızı tehlikeye atmak için yararlanabileceği yığın arabellek aşımlarını algılamaya yardımcı olur.
Seçenekler
-
Güvenlik Denetimini Devre Dışı Bırak - Kümeler
/GS-. -
Güvenlik Denetimini Etkinleştir -
/GSolarak ayarlar.
Denetim Akışı Koruyucusu
Geçersiz kod bloklarına gönderme girişimlerini algılamaya yardımcı olur.
Seçenekler
-
Evet - Denetim Flow Guard'ı etkinleştirin. Ayarlar
/guard:cf. - Hayır
İşlev Düzeyi Bağlamayı Etkinleştirme
Derleyicinin tek tek işlevleri paketlenmiş işlevler (COMDAT) biçiminde paketlemesine izin verir. Düzenlemek ve çalışmaya devam etmek için gereklidir. Ayarlar /Gy.
Paralel Kod Oluşturmayı Etkinleştirme
İyileştirme etkinleştirildiğinde kullanılarak #pragma loop(hint_parallel[(n)]) tanımlanan döngüler için derleyicinin paralel kod oluşturmasına izin verir.
Gelişmiş Yönerge Kümesini Etkinleştirme
Gelişmiş yönerge kümelerini destekleyen işlemcilerde bulunan yönergelerin kullanımını etkinleştirin. Örneğin, IA-32'de SSE, SSE2, AVX ve AVX2 geliştirmeleri ve x64'e yönelik AVX ve AVX2 geliştirmeleri.
/arch:SSE yalnızca x86 derlemelerinde kullanılabilir.
/arch:SSE2 x86 ve x64 derlemelerinde kullanılabilir ve her iki mimari için de varsayılandır. Gelişmiş yönergelerin kullanımı /arch:IA32 ile devre dışı bırakılabilir. Daha fazla bilgi için bkz. /arch (x86), /arch (x64), /arch (ARM64)ve /arch (ARM).
Seçenekler
-
Streaming SIMD Extensions (X86) - Streaming SIMD Uzantılarını etkinleştirir. Ayarlar
/arch:SSE. -
Streaming SIMD Extensions 2 (X86) - Streaming SIMD Extensions 2'yi etkinleştirir. Ayarlar
/arch:SSE2. -
Gelişmiş Vektör Uzantıları (X86/X64) - Gelişmiş Vektör Uzantılarını etkinleştirir. Ayarlar
/arch:AVX. -
Gelişmiş Vektör Uzantıları 2 (X86/X64) - Gelişmiş Vektör Uzantıları 2'ye olanak tanır. Ayarlar
/arch:AVX2. -
Gelişmiş Vektör Uzantıları 512 (X86/X64) - Gelişmiş Vektör Uzantıları 512'ye olanak tanır. Ayarlar
/arch:AVX512. -
Gelişmiş Vektör Uzantıları AVX10.1 (X86/X64) - Gelişmiş Vektör Uzantıları 10 sürüm 1'i etkinleştirir. Ayarlar
/arch:AVX10.1. -
Gelişmiş Vektör Uzantıları AVX10.2 (X86/X64) - Gelişmiş Vektör Uzantıları 10 sürüm 2'ye olanak tanır. Ayarlar
/arch:AVX10.2. -
Sanallaştırma Uzantıları (ARM). ARM sanallaştırma uzantılarını etkinleştirir. Ayarlar
/arch:ARMv7VE. -
ARM VFPv4 yönergeleri (ARM)... ARM VFPv4 yönergelerini etkinleştirir. Ayarlar
/arch:VFPv4. -
CPU uzantısı gereksinimleri ARMv8.0-A (ARM64). ARMv8.0-A gereksinimlerini etkinleştirir. Ayarlar
/arch:arm8.0. -
CPU uzantısı gereksinimleri ARMv8.1-A (ARM64). ARMv8.1-A gereksinimlerini etkinleştirir. Ayarlar
/arch:arm8.1. -
CPU uzantısı gereksinimleri ARMv8.2-A (ARM64). ARMv8.2-A gereksinimlerini etkinleştirir. Ayarlar
/arch:arm8.2. -
CPU uzantısı gereksinimleri ARMv8.3-A (ARM64). ARMv8.3-A gereksinimlerini etkinleştirir. Ayarlar
/arch:arm8.3. -
CPU uzantısı gereksinimleri ARMv8.4-A (ARM64). ARMv8.4-A gereksinimlerini etkinleştirir. Ayarlar
/arch:arm8.4. -
CPU uzantısı gereksinimleri ARMv8.5-A (ARM64). ARMv8.5-A gereksinimlerini etkinleştirir. Ayarlar
/arch:arm8.5. -
CPU uzantısı gereksinimleri ARMv8.6-A (ARM64). ARMv8.6-A gereksinimlerini etkinleştirir. Ayarlar
/arch:arm8.6. -
CPU uzantısı gereksinimleri ARMv8.7-A (ARM64). ARMv8.7-A gereksinimlerini etkinleştirir. Ayarlar
/arch:arm8.7. -
CPU uzantısı gereksinimleri ARMv8.8-A (ARM64). ARMv8.8-A gereksinimlerini etkinleştirir. Ayarlar
/arch:arm8.8. -
Gelişmiş Yönergeler Yok - x86 derlemeleri için gelişmiş yönergeleri devre dışı bırakır. Ayarlar
/arch:IA32. -
Ayarlanmadı - Açıkça bir
/archseçenek ayarlamaz.
Gelişmiş yönerge kümelerini destekleyen işlemcilerde bulunan yönergelerin kullanımını etkinleştirin. Örneğin, IA-32'de SSE, SSE2, AVX ve AVX2 geliştirmeleri ve x64'e yönelik AVX ve AVX2 geliştirmeleri. Şu anda /arch:SSE ve /arch:SSE2 yalnızca x86 mimarisi için oluşturulurken kullanılabilir. Seçenek belirtilmezse, derleyici SSE2'yi destekleyen işlemcilerde bulunan yönergeleri kullanır. Gelişmiş yönergelerin kullanımı /arch:IA32 ile devre dışı bırakılabilir. Daha fazla bilgi için bkz. /arch (x86), /arch (x64), /arch (ARM64)ve /arch (ARM).
Seçenekler
-
Streaming SIMD Extensions (X86) - Streaming SIMD Uzantılarını etkinleştirir. Ayarlar
/arch:SSE. -
Streaming SIMD Extensions 2 (X86) - Streaming SIMD Extensions 2'yi etkinleştirir. Ayarlar
/arch:SSE2. -
Gelişmiş Vektör Uzantıları (X86/X64) - Gelişmiş Vektör Uzantılarını etkinleştirir. Ayarlar
/arch:AVX. -
Gelişmiş Vektör Uzantıları 2 (X86/X64) - Gelişmiş Vektör Uzantıları 2'ye olanak tanır. Ayarlar
/arch:AVX2. -
Gelişmiş Vektör Uzantıları 512 (X86/X64) - Gelişmiş Vektör Uzantıları 512'ye olanak tanır. Ayarlar
/arch:AVX512. -
Gelişmiş Vektör Uzantıları AVX10.1 (X86/X64) - Gelişmiş Vektör Uzantıları 10 sürüm 1'i etkinleştirir. Ayarlar
/arch:AVX10.1. -
Sanallaştırma Uzantıları (ARM). ARM sanallaştırma uzantılarını etkinleştirir. Ayarlar
/arch:ARMv7VE. -
ARM VFPv4 yönergeleri (ARM)... ARM VFPv4 yönergelerini etkinleştirir. Ayarlar
/arch:VFPv4. -
CPU uzantısı gereksinimleri ARMv8.0-A (ARM64). ARMv8.0-A gereksinimlerini etkinleştirir. Ayarlar
/arch:arm8.0. -
CPU uzantısı gereksinimleri ARMv8.1-A (ARM64). ARMv8.1-A gereksinimlerini etkinleştirir. Ayarlar
/arch:arm8.1. -
CPU uzantısı gereksinimleri ARMv8.2-A (ARM64). ARMv8.2-A gereksinimlerini etkinleştirir. Ayarlar
/arch:arm8.2. -
CPU uzantısı gereksinimleri ARMv8.3-A (ARM64). ARMv8.3-A gereksinimlerini etkinleştirir. Ayarlar
/arch:arm8.3. -
CPU uzantısı gereksinimleri ARMv8.4-A (ARM64). ARMv8.4-A gereksinimlerini etkinleştirir. Ayarlar
/arch:arm8.4. -
CPU uzantısı gereksinimleri ARMv8.5-A (ARM64). ARMv8.5-A gereksinimlerini etkinleştirir. Ayarlar
/arch:arm8.5. -
CPU uzantısı gereksinimleri ARMv8.6-A (ARM64). ARMv8.6-A gereksinimlerini etkinleştirir. Ayarlar
/arch:arm8.6. -
CPU uzantısı gereksinimleri ARMv8.7-A (ARM64). ARMv8.7-A gereksinimlerini etkinleştirir. Ayarlar
/arch:arm8.7. -
CPU uzantısı gereksinimleri ARMv8.8-A (ARM64). ARMv8.8-A gereksinimlerini etkinleştirir. Ayarlar
/arch:arm8.8. -
Gelişmiş Yönergeler Yok - x86 derlemeleri için gelişmiş yönergeleri devre dışı bırakır. Ayarlar
/arch:IA32. -
Ayarlanmadı - Açıkça bir
/archseçenek ayarlamaz.
Seçenekler
-
SIMD Uzantılarını Akışla Aktarma - SIMD Uzantılarını Akışla Aktarma. Ayarlar
/arch:SSE -
Akış SIMD Uzantıları 2 - Akış SIMD Uzantıları 2. Ayarlar
/arch:SSE2 -
Gelişmiş Vektör Uzantıları - Gelişmiş Vektör Uzantıları. Ayarlar
/arch:AVX -
Gelişmiş Vektör Uzantıları 2 - Gelişmiş Vektör Uzantıları 2. Ayarlar
/arch:AVX2 -
Gelişmiş Yönergeler Yok - Gelişmiş Yönergeler Yok. Ayarlar
/arch:IA32 - Ayarlanmadı - Ayarlanmadı.
Vektör Uzunluğunu Etkinleştir
/arch:AVX512 ve /arch:AVX10.x bayrakları için vektör uzunluğunu seçmeyi etkinleştirin. İzin verilen değerler 256 ve 512 bittir (X86/X64).
Kayan Nokta Modeli
Kayan nokta modelini ayarlar. Ayarlar /fp:precise, /fp:strict, /fp:fast.
Seçenekler
- Kesin - Varsayılan değer. Eşitlik ve eşitsizlik için kayan nokta testlerinin tutarlılığını artırır.
-
Strict - En katı kayan nokta modeli.
/fp:strict,fenv_access’in kapalı vefp_contract’nin açık olmasına neden olur./fp:exceptörtülüdür ve açıkça belirtilerek/fp:except-devre dışı bırakılabilir. ile/fp:except-/fp:strictkullanıldığında, katı kayan nokta semantiği uygular ancak istisnai olaylara saygı duymaz. - Hızlı - Çoğu durumda en hızlı kodu oluşturur.
Kayan Nokta Özel Durumlarını Etkinleştirme
Güvenilir kayan nokta özel durumu modeli. Özel durumlar tetiklendikten hemen sonra ortaya çıkar. Ayarlar /fp:except.
Hotpatchable Görüntüsü Oluşturma
Sıcak düzeltme açıkken, derleyici her işlevin ilk komutunun, anlık yamalama işlemi için gerekli olan iki bayt olmasını sağlar. Ayarlar /hotpatch.
Spectre Tehdit Azaltımı
CVE 2017-5753 için belirtim azaltmaları. Ayarlar /Qspectre.
Seçenekler
- Etkin - CVE 2017-5753 için Spectre azaltmayı etkinleştirin.
- Tüm Yükler - Tüm yüklerde Spectre azaltmayı etkinleştirin.
- Tüm Denetim Akışı Yükleri - Denetim akışı yüklerinde Spectre azaltmayı etkinleştirin.
- Devre dışı - Ayarlanmadı.
Spectre Tehdit Azaltımı
CVE 2017-5753 için belirtim azaltmaları. Ayarlar /Qspectre.
Seçenekler
- Etkin - CVE 2017-5753 için Spectre azaltmayı etkinleştirin.
- Devre dışı - Ayarlanmadı.
Intel JCC Hata Düzeltici Önlemini Etkinleştir
Intel JCC erratum mikrokod güncellemesinin neden olduğu performans etkisini azaltmak için yazılım çözümü. Ayarlar /QIntel-jcc-erratum.
EH Devamlılık Meta Verilerini Etkinleştirme
Bir ikili dosya için, RIP doğrulaması sırasında çalışma zamanında kullanılan tüm geçerli istisna işleme devam hedeflerinin sıralı bir listesini oluşturur. Şu anda x64 derlemeleri için kullanılabilir. Ayarlar /guard:ehcont.
İmzalı İadeleri Etkinleştir
Fonksiyon dönüşlerinde yasa dışı bloklara yönlendirme girişimlerini algılamaya ve önlemeye yardımcı olan imzalı dönüşleri etkinleştirir. Şu anda ARM64 derlemeleri için kullanılabilir. Ayarlar /guard:signret.
C/C++ Dil özellikleri
Dil Uzantılarını Devre Dışı Bırak
Dil uzantılarını gizler veya etkinleştirir. Ayarlar /Za.
WChar_t Yerleşik Tür Olarak Kabul Et
Bu özelliği etkinleştirdiğinizde, wchar_t türü, __int16 öğesinin __wchar_t öğesine eşlenmesiyle aynı şekilde short öğesine eşlenen yerel bir türe dönüşür.
/Zc:wchar_t varsayılan olarak açıktır.
For Döngüsü Kapsamında Uyumluluğu Zorla
Microsoft eklentileriyle birlikte kullanılan döngü yapılarına standart C++ davranışı uygular.
/Za, /Ze Ayarları yap (Dil uzantılarını devre dışı bırak).
/Zc:forScope varsayılan olarak açıktır.
Başvurulmayan kodu ve verileri kaldırma
Bu özelliği etkinleştirdiğinizde, derleyici artık başvurulmayan kod ve veriler için sembol bilgileri oluşturmaz.
Tür dönüştürme kurallarını uygula
C++11 standardı uyarınca, bir tür dönüştürme işlemi sonucunda elde edilen rvalue referans türünü tanımlamak için kullanılır.
Çalışma Zamanı Türü Bilgilerini Etkinleştirme
Çalışma zamanında C++ nesne türlerini denetlemek için kod ekler (çalışma zamanı türü bilgileri veya RTTI). Küme /GR, /GR-.
OpenMP Desteği
OpenMP 2.0 dil uzantılarını etkinleştirir. Ayarlar /openmp.
C++ Dil Standardı
Derleyicinin uyguladığı C++ dil standardını belirler. Varsayılan değer standart bir seçenek ayarlamaz, bu nedenle derleyici varsayılan C++14 ayarını kullanır. Belirli bir değeri seçerseniz, karşılık gelen /std derleyici seçeneği ayarlanır.
Seçenekler
- Varsayılan (ISO C++14 Standart)
- ISO C++14 Standart (/std:c++14)
- ISO C++17 Standart (/std:c++17)
- ISO C++20 Standart (/std:c++20)
- Önizleme - ISO C++23 Standard (/std:c++23preview)
- Önizleme - En Son C++ Çalışma Taslağındaki Özellikler (/std:c++en son)
C Dil Standardı
Derleyicinin uyguladığı C dili standardını belirler. Varsayılan değer standart bir seçenek ayarlamaz, bu nedenle derleyici varsayılan eski MSVC ayarını kullanır. Belirli bir değeri seçerseniz, karşılık gelen /std derleyici seçeneği ayarlanır.
Seçenekler
- Varsayılan (Eski MSVC)
- ISO C11 Standard (/std:c11)
- ISO C17 (2018) Standard (/std:c17)
- Önizleme - En Son C Çalışma Taslağındaki Özellikler (/std:clatest)
Uyumluluk modu
Uyumluluk modunu etkinleştirir veya gizler. Ayarlar /permissive-.
Deneysel C++ Standart Kitaplık Modüllerini Etkinleştirme
C++ Modülleri TS ve Standart Kitaplık modülleri için deneysel destek.
ISO C++23 Standart Kitaplık Modülleri Oluşturma
Visual Studio 17.6'dan başlayarak, bu özellik etkinleştirildiğinde ve C++ Dil Standardı olarak ayarlandığında /std:c++latest, Microsoft C++ projeleri ISO C++23 Standart Kitaplığı modüllerini otomatik olarak bulur ve derler. Bu, C++ kodunuzda import std veya import std.compat kodlamanızı sağlar.
C/C++ Önceden Derlenmiş Başlıklar Özellikleri
Önceden Derlenmiş Üst Bilgi
Önceden Derlenmiş Üst Bilgi Oluşturma/Kullanma
Derleme sırasında önceden derlenmiş bir üst bilgi oluşturulmasını veya kullanılmasını etkinleştirir. Küme /Ycayarlar/Yu.
Seçenekler
-
Create - Derleyiciye, belirli bir noktada derleme durumunu temsil eden önceden derlenmiş bir üst bilgi (
.pch) dosyası oluşturmasını bildirir. -
Use - Derleyiciye, geçerli derlemede var olan bir önceden derlenmiş üst bilgi (
.pch) dosyasını kullanmasını ister. - Önceden Derlenmiş Üst Bilgiler Kullanılmıyor - Önceden derlenmiş üst bilgiler kullanılmıyor.
Önceden Derlenmiş Üst Bilgi Dosyası
Derleyicinin önceden derlenmiş bir üst bilgi oluşturmak veya bu üst bilgiye erişmek için kullandığı üst bilgi dosyasının adını belirtir. Küme /Ycayarlar/Yu.
Önceden Derlenmiş Üst Bilgi Çıktı Dosyası
Önceden derlenmiş oluşturulan üst bilgi dosyasının yolunu veya adını belirtir. Ayarlar /Fp.
C/C++ Çıkış Dosyaları özellikleri
Öznitelikli Kaynağı Genişlet
Kaynak dosyaya eklenmiş genişletilmiş öznitelikleri olan bir listeleme dosyası oluşturur. Ayarlar /Fx.
Assembler Çıkışı
Derleme dili çıkış dosyasının içeriğini belirtir. Set /FA, /FAc, /FAs, /FAcs.
Seçenekler
- Listeleme Yok - Liste yok.
-
Yalnızca Assembly Listelemesi - Assembly kodu:
.asm. -
Makine Kodu ile Derleme - Makine ve derleme kodu:
.cod. -
Kaynak Kodu ile Derleme - Kaynak ve derleme kodu:
.asm. -
Derleme, Makine Kodu ve Kaynak - Derleme, makine kodu ve kaynak kodu:
.cod.
Assembler Listelemesi için Unicode Kullanma
Çıkış dosyasının UTF-8 biçiminde oluşturulmasına neden olur.
ASM Liste Konumu
ASM listeleme dosyasının göreli yolunu veya adını belirtir. Dosya veya dizin adı olabilir. Ayarlar /Fa.
Modül Çıkış Dosyası Adı
Modül veya üst bilgi birimi çıkışı (BMI) dosya konumu. Dosya veya dizin adı olabilir. Ayarlar /ifcOutput[name].
Modül Bağımlılıkları Dosya Adı
Oluşturulan modül bağımlılıkları dosyasının yolunu ve/veya adını belirtir. Ayarlar /scanDependencies[path].
Nesne Dosyası Adı
Varsayılan nesne dosyası adını geçersiz kılmak için bir ad belirtir. Dosya veya dizin adı olabilir. Ayarlar /Fo.
Program Veritabanı Dosya Adı
Derleyici tarafından oluşturulan bir PDB dosyası için bir ad belirtir. Ayrıca, gerekli derleyici tarafından oluşturulan IDB dosyası için temel adı belirtir. Dosya veya dizin adı olabilir. Ayarlar /Fd.
XML Belge Dosyaları Oluşturma
Derleyicinin, XML belge açıklama yorum dosyaları (.XDC) oluşturması gerektiğini belirtir. Ayarlar /doc.
XML Belgeleri Dosya Adı
Oluşturulan XML belge dosyalarının adını belirtir. Dosya veya dizin adı olabilir. Ayarlar /doc:<adı>.
Kaynak Bağımlılıkları Dosyası Oluştur
Derleyicinin kaynağın derlenmesi için kullandığı tüm dosyaların listesini içeren bir JSON dosyası oluşturur. Ayarlar /sourceDependencies.
Kaynak Bağımlılıkları Dosya Adı
Oluşturulan kaynak bağımlılıklar dosyasının yolunu ve/veya adını belirtir. Ayarlar /sourceDependencies[path].
C/C++ Gözat Bilgileri özellikleri
Tarama Bilgilerini Etkinleştir
Derleyicinin bir .bsc dosya oluşturup oluşturmayacağını belirtir. Ayarlar /FR.
Bilgi Dosyasına Gözat
Tarayıcı bilgileri dosyası için isteğe bağlı bir ad belirtir. Ayarlar /FR<adı>.
C/C++ Dış ekleme özellikleri
Açılı Köşeli Ayraçlarla Dahil Edilen Dosyaları Harici Olarak Değerlendir
Açılı ayraçlarla birlikte gelen dosyaların dış olarak işlenip işlenmeymeyeceğini belirtir. Derleyici seçeneğini ayarlamak için bu özelliği Evet olarak /external:anglebrackets ayarlayın.
Dış Başlık Uyarı Düzeyi
Derleyicinin dış üst bilgilerdeki kod hataları hakkında ne kadar katı olmasını istediğinizi seçin. Bu özellik derleyici seçeneğini ayarlar /external:Wn . Bu değer Proje Uyarı Düzeyini Devral veya varsayılan olarak ayarlanırsa, diğer /external seçenekler göz ardı edilir.
Harici Başlıklar İçinde Şablon Teşhis
Şablon örnekleme zincirinde uyarı düzeyinin değerlendirilip değerlendirilmeymeyeceğini belirtir. Derleyici seçeneğini ayarlamak için bu özelliği Evet olarak /external:templates- ayarlayın.
Dış Üst Bilgiler için Kod Analizini Devre Dışı Bırakma
Dış üst bilgiler için kod analizini devre dışı bırakır.
/analyze:external- Derleyici seçeneğini ayarlar.
Dış Üst Bilgiler için Çözümleme Kural Kümesi
Harici başlıklar için bir kod analizi kural kümesi geçersiz kılmasını belirtir. Bu özellik belirtilmezse, Code Analysis ayarı kullanılır.
/analyze:external:ruleset path Derleyici seçeneğini ayarlar.
C/C++ Gelişmiş özellikleri
Çağırma Kuralı
Uygulamanız için varsayılan çağırma kuralını seçin (işlev tarafından geçersiz kılınabilir). Set /Gd, /Gr, /Gz, /Gv.
Seçenekler
-
__cdecl- C++ üye işlevleri ve veya__fastcallolarak işaretlenmiş__stdcallişlevler dışında tüm işlevler için çağırma kuralını belirtir__cdecl. -
__fastcall- C++ üye işlevleri ve veya__stdcallolarak işaretlenmiş__cdeclişlevler dışında tüm işlevler için çağırma kuralını belirtir__fastcall. Tüm__fastcallişlevlerin prototipleri olmalıdır. -
__stdcall- C++ üye işlevleri ve veya__fastcallolarak işaretlenmiş__cdeclişlevler dışında tüm işlevler için çağırma kuralını belirtir__stdcall. Tüm__stdcallişlevlerin prototipleri olmalıdır. -
__vectorcall- C++ üye işlevleri ve ,__fastcallveya__stdcallolarak işaretlenmiş__cdeclişlevler dışında tüm işlevler için çağırma kuralını belirtir__vectorcall. Tüm__vectorcallişlevlerin prototipleri olmalıdır.
Olarak Derle
Kaynak dosyalar için bir derleme dili seçeneği belirleyin. Ayarlar /TC, /TP, /arayüz, /internalPartition, veya /exportHeader seçeneklerini.
Seçenekler
- Varsayılan - Varsayılan.
-
C Kodu Olarak Derle (
/TC) - Belirtilen kaynak dosyaları C kodu olarak derleyin. Varsayılan olarak, uzantılı.cdosyalar C olarak derlenir. -
C++ Kodu olarak derleme (
/TP) - Belirtilen kaynak dosyaları C++ kodu olarak derleyin. Varsayılan olarak,.ixx,.cppm,.cveya.huzantısına sahip olmayan ya da hiç uzantısı olmayan tüm kaynak dosyalar C++ olarak derlenir. -
C++ Modül Kodu olarak derleme (
/interface) - Belirtilen kaynak dosyaları C++ modül kodu olarak derleyin. Varsayılan olarak, veya.cppmuzantılı.ixxdosyalar C++ modül kodu olarak derlenir. -
C++ Modülü İç Bölümü olarak derleme (
/internalPartition) - Belirtilen kaynak dosyaları C++ modülü iç bölümü olarak derleyin. -
C++ Üst Bilgi Birimi (
/exportHeader) olarak derle - Belirtilen kaynak dosyaları C++ üst bilgi birimi olarak derleyin. Varsayılan olarak, uzantılı.hveya hiç uzantı içermeyen dosyalar üst bilgi birimi olarak derlenir.
Belirli Uyarıları Devre Dışı Bırak
Belirtilen uyarı numaralarını devre dışı bırakın. Uyarı numaralarını noktalı virgülle ayrılmış bir listeye yerleştirin.
/wd
<Sayısı Ayarla>.
Zorlamalı Ekleme Dosyası
Bir veya daha fazla zorunlu dahil etme dosyasını belirtir. Ayarlar /FI<adı>.
Zorlamalı #using Dosyası
Bir veya daha fazla zorunlu #using dosyası belirtir. Ayarlar /FU<adı>.
Eklemeleri Göster
Derleyici çıkışına sahip ekleme dosyalarının listesini oluşturur. Ayarlar /showIncludes.
Tam Yolları Kullan
Tanılama iletilerinde tam yolları kullanın. Ayarlar /FC.
Varsayılan Kitaplık Adını Atla
Dosyalardaki .obj varsayılan kitaplık adlarını atla seçeneğini belirtir. Ayarlar /Zl.
derleyici iç hata raporlama
Not
Bu seçenek kullanım dışıdır. Windows Vista'dan başlayarak, hata raporlama Windows Hata Bildirimi (WER) ayarları tarafından denetlenilir.
Belirli Uyarıları Hata Olarak Değerlendir
Belirli derleyici uyarısını hata olarak ele alır; burada n bir derleyici uyarısıdır.
Ek Seçenekler
Ek Seçenekler.