C/C++ Özellik Sayfaları

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 varsa, 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 varsa, 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 varsa, 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 varsa, dizinleri noktalı virgülle (';') ayırın. /headerUnit Derleyici seçeneğini ayarlar.

Modül Bağımlılıkları için Kaynakları Tara

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. Includes'ı İçeri Aktarmalara Dönüştür ile birleştirildiğinde, üst bilgi dosyasıyla aynı dizindeki bir header-units.json dosyasında belirtilen herhangi bir üst bilgi dosyası bir üst bilgi birimi olarak derlenir.

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

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. Modül Bağımlılıkları için Kaynakları Tarama ile birleştirildiğinde, derleyici başlık birimleri içinde derlenebilir tüm başlık 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 uyumsuzdur; Ayrıntılar için anahtarlar ailesi ile ilgili /clr belgelere bakın.

Seçenekler

  • Ortak Dil RunTime Desteği Yok - Ortak Dil RunTime 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 Runtime dil uzantılarını kullan. 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.
  • Düzey4 - Düzey 4, tüm düzey 3 uyarılarının yanı sıra çoğu durumda güvenli bir şekilde görmezden gelinebilir bilgilendirici 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, ilgili kaynak kod satırını, sorunlu sütunu gösteren bir caret sembolüyle 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) önerilen denetimler; ek güvenli kod oluşturma özelliklerini etkinleştirmeyi içerir ve hata olarak ek güvenlikle ilgili uyarılar sağlar. 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 seçeneğini 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 (Boyut Favorisi) - /Os /Oy /Ob2 /Gs /GF /Gy
  • Maksimum Optimizasyon (Hız Tercihi) - Eşdeğer /Oi /Ot /Oy /Ob2 /Gs /GF /Gy
  • İyileştirmeler (Hız Tercihi) - Eşdeğer /Oi /Ot /Oy /Ob2

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 - inline veya __inline olarak işaretlenmiş işlevleri ve derleyicinin seçtiği diğer işlevleri genişletir. (Genişletme, derleyicinin takdirine bağlı olarak gerçekleşir ve genellikle otomatik çizgi oluşturma 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; 'Genel İyileştirme' 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. (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

Fiberler ve iş parçacığı yerel depolama erişimi kullanıldığında bellek alanı optimizasyonunu mümkün kılar. 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 önişlemci değerlerinin tanımlarını kaldırın. 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

Kaynak koddan açıklama şeridini gizler; Ö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

Derleyici, program görüntüsünde aynı dizelerin yalnızca bir salt okunur kopyasını oluşturur. Dize havuzu olarak adlandırılan bir optimizasyon daha küçük programlara yol açar. /O1, /O2, ve /ZI, /GF seçeneğini otomatik olarak ayarlar.

En Az Yeniden Derlemeyi Etkinleştir

Üst bilgi .h dosyalarında depolanan, değiştirilen C++ sınıf tanımları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 derleyiciye extern C işlevlerinin hiçbir zaman C++ özel durumu oluşturmadığını varsaymalarını söyleyen özel durum işleme modeli. Ayarlar /EHsc.
  • Extern C işlevleriyle evet - Yalnızca C++ özel durumlarını yakalayan ve derleyiciye extern C işlevlerinin özel durum oluşturduğunu varsaymalarını söyleyen özel durum işleme modeli. Ayarlar /EHs.
  • Hayır - Özel durum işleme yok.

Daha Küçük Tür Denetimi

Hata ayıklama dışındaki herhangi bir iyileştirme türüyle uyumlu olmayan daha küçük türlere dönüştürme denetimini etkinleştirin. Ayarlar /RTCc.

Temel Çalışma Zamanı Denetimleri

Hata ayıklama dışında herhangi bir iyileştirme türüyle uyumsuz olan temel çalışma zamanı hata denetimlerini etkinleştirin. Ayarlar /RTCs, /RTCu, /RTC1.

Seçenekler

  • Yığın Çerçeveleri - Yığın çerçevesi ç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çin çalışma zamanı kitaplığını belirtin. 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ına neden olur.
  • Çok İş Parçacıklı Hata Ayıklama - _DEBUG tanımlar _MT. Bu seçenek, bağlayıcının dış simgeleri çözümlemek için kullanacağı LIBCMTD.lib kütüphane adını .obj dosyasına LIBCMTD.lib yerleştirmesine neden olur.
  • Çok iş parçacıklı DLL - Uygulamanızın çalışma zamanı kitaplığının çok iş parçacıklı ve DLL'ye özgü sürümünü kullanmasına neden olur. _MT ve _DLL tanımlar ve derleyicinin MSVCRT.lib kütüphane adını .obj dosyasına yerleştirmesine neden olur.
  • Çok iş parçacıklı Hata Ayıklama DLL'sini - , _DEBUGve _MT 'yi tanımlar _DLLve uygulamanızın çalışma zamanı kitaplığının çok iş parçacıklı ve DLL'ye özgü hata ayıklama sürümünü kullanmasına neden olur. Derleyicinin kitaplık adını MSVCRTD.lib dosyasına .obj yerleştirmesine de neden olur.

Yapı Üyesi Hizalaması

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).
  • 16 Bayt - Yapıları on altı baytlık sınırlarda paketler.
  • Varsayılan - Varsayılan hizalama ayarları.

Güvenlik Denetimi

Güvenlik Denetimi, bir programın güvenliğine yönelik yaygın bir saldırı olan yığın arabelleği aşırı çalıştırmalarını algılamaya yardımcı olur.

Seçenekler

  • Güvenlik Denetimini Devre Dışı Bırak - Güvenlik Denetimini Devre Dışı Bırak. Ayarlar /GS-.
  • Güvenlik Denetimini Etkinleştir - Güvenlik Denetimini Etkinleştir. Ayarlar /GS.

Denetim Akışı Koruyucusu

Koruma güvenlik denetimi, geçersiz kod bloğuna gönderme girişimlerini algılamaya yardımcı olur.

Seçenekler

  • Evet - Koruma Kümeleri /guard:cfile Güvenlik Denetimini Etkinleştirin.
  • 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. Ayrıca, 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

  • 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, fp_contract kapalı ve fenv_access 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:strict kullanı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 azaltma özelliğini etkinleştirme
  • Devre Dışı - Henüz 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

İşlev dönüşlerinden geçersiz bloklara gönderme girişimlerini algılamaya ve önlemeye yardımcı olan imzalı iadeleri 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

Belirtildiğinde, tip wchar_t, __wchar_t'ın short ile eşlendiği şekilde, __int16 ile eşlenen bir yerel tipe 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

Belirtildiğinde, 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ına göre bir dönüştürme işlemi sonucunda bir 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 etkinleştireceği 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.md).

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 etkinleştireceği C dil 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.md).

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ş Üst Bilgi Özellikleri

Ö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ı

Önceden derlenmiş bir üst bilgi dosyası oluştururken veya kullanırken kullanılacak üst bilgi dosyası 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 eklenen genişletilmiş özniteliklerle listeleme dosyası oluşturun. 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 Derleme Listesi - Derleme 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ı için göreli yolu veya adı 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 dosya 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++ Tarama Bilgileri Özellikleri

Tarama Bilgilerini Etkinleştir

.bsc dosyasındaki göz atma bilgilerinin düzeyini belirtir. Ayarlar /FR.

Bilgi Dosyasına Gözat

Tarayıcı bilgi dosyası için isteğe bağlı 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. Belirtilmezse Kod Analizi 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 __cdeclolarak işaretlenmiş __stdcall işlevler dışındaki tüm işlevler için çağırma kuralını belirtir__fastcall.
  • __fastcall- C++ üye işlevleri ve veya __fastcallolarak işaretlenmiş __cdecl işlevler dışındaki tüm işlevler için çağırma kuralını belirtir__stdcall. Tüm __fastcall işlevlerin prototipleri olmalıdır.
  • __stdcall- C++ üye işlevleri ve veya __stdcallolarak işaretlenmiş __cdecl işlevler dışındaki tüm işlevler için çağırma kuralını belirtir__fastcall. Tüm __stdcall işlevlerin prototipleri olmalıdır.
  • __vectorcall- C++ üye işlevleri ve , __vectorcallveya __cdeclolarak işaretlenmiş __fastcallişlevler dışındaki tüm işlevler için çağırma kuralını belirtir__stdcall. Tüm __vectorcall işlevlerin prototipleri olmalıdır.

Olarak Derle

Kaynak dosyalar için derleme dili seçeneğini 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ı .c dosyalar C olarak derlenir.
  • C++ Kodu olarak derleme (/TP) - Belirtilen kaynak dosyaları C++ kodu olarak derleyin. Varsayılan olarak , , .c, .ixx, .cppmveya uzantısı olmayan .htü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 .ixx uzantılı .cppm dosyalar 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ı .h veya 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 zorlamalı ekleme dosyası. 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

Varsayılan kitaplık adlarını .obj dosyalarında içermez. 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ı, n derleyici uyarısı olduğu bir hata olarak ele alır.

Ek Seçenekler

Ek Seçenekler.