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 Ekleme Dizinleri

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

Yönergeye geçirilen adları çözümlemek için aranacak bir #using veya daha fazla dizin belirtir. 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 import veya daha fazla modülü belirtir. Birden fazla dizin varsa, dizinleri noktalı virgülle (';') ayırın. /reference Derleyici seçeneğini ayarlar.

Ek Üst Bilgi Birimi Bağımlılıkları

Üst bilgi yönergesine geçirilen adları çözümlemek için kullanılacak bir import veya daha fazla üst bilgi birimi 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. İçeri Aktarmaya İçeriği Çevir ile birleştirildiğinde, üst bilgi dosyasıyla aynı dizindeki bir header-units.json dosyada belirtilen tüm üst bilgi dosyaları bir üst bilgi biriminde derlenmiş olur.

uzantısına .ixxsahip dosyalar ve Dosya özellikleri>C/C++>Farklı Derle özelliği C++ Üst Bilgi Birimi (/exportHeader) olarak derle olarak ayarlanmış dosyalar her zaman taranır.

İçeri Aktarmalara İçeri Aktarma İçeri Aktarma

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. Dosya header-units.json , sembol yinelemesi olmadan her #include biri için üst bilgi birimleri oluşturmak için kullanılır. Modül Bağımlılıkları için Kaynakları Tarama ile birleştirildiğinde, derleyici üst bilgi birimlerinde derlenebilir 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. , , /Zi/ZI (Hata ayıklama bilgileri biçimi) derleyici seçeneklerini ayarlar/Z7.

Seçenekler

  • Hiçbiri - Hata ayıklama bilgisi üretmez, bu nedenle derleme daha hızlı olabilir.
  • C7 uyumlu - Programınız için oluşturulan hata ayıklama bilgilerinin türünü ve bu bilgilerin nesne (.obj) dosyalarında mı yoksa bir program veritabanında mı (PDB) tutulduğunu seçin.
  • Program Veritabanı - 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ı - Daha önce açıklandığı gibi Düzenle ve Devam Et özelliğini destekleyen bir biçimde bir program veritabanı oluşturur.

Yalnızca Kod Hata Ayıklamamı Destekleme

Bu derleme ünitesinde Just My Code hata ayıklamasını etkinleştirmek için destekleyici kod ekler. ayarlar /JMC.

Ortak Dil RunTime 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 RunTime Desteği - MSIL'e derlenmiş yerel türler içerse de, yerel yürütülebilir kod içermeyen yalnızca MSIL çıkış dosyası oluşturur.
  • 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ı Kullanma

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 uyarılarını düzey 1'den daha az 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 yoksayılabilir bilgilendiren 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 şapka işaretiyle oluşturur.
  • 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ümelerini/sdl- ayarlar/sdl.

Çok işlemcili Derleme

Çok işlemcili derlemeyi etkinleştirin. /MP Derleyici seçeneğini ayarlar.

Adres Temizlemeyi Etkinleştir

Programı AddressSanitizer izlemesiyle derler ve bağlar. Bu özellik şu anda x86 ve x64 hedef derlemelerini destekler. /fsanitize Derleyici seçeneğini ayarlar.

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. , , /O1/O2kümelerini ayarlar./Od

Seçenekler

  • Özel - Özel iyileştirme.
  • Devre dışı - İyileştirmeyi devre dışı bırakın.
  • Maksimum İyileştirme (İyilik Boyutu) - /Os /Oy /Ob2 /Gs /GF /Gy
  • Maksimum İyileştirme (İyilik Hızı) - Eşdeğer /Oi /Ot /Oy /Ob2 /Gs /GF /Gy
  • İyileştirmeler (İyilik Hızı) - Eşdeğer /Oi /Ot /Oy /Ob2

Satır içi İşlev Genişletme

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 , __forceinlineveya __inlineolarak inlineişaretlenmiş işlevleri genişletir. Veya bir sınıf bildirimi içinde tanımlanan bir C++ üye işlevinde.
  • Herhangi Bir Uygun - veya __inline olarak inline 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ümelerini/Os ayarlar/Ot.

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 Atla

Ç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ılırken bellek alanı iyileştirmesini etkinleştirir. ayarlar /GT.

Tüm Program İyileştirme

Kod oluşturma işlemini zaman bağlamaya 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ımlama

Tanımlanmamış bir veya daha fazla önişlemci belirtir. ayarlar /U.

Tüm Önişlemci Tanımlarını Tanımlama

Ö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ı Önişle

#line yönergeleri olmadan önişle.

Açıklamaları Koru

Kaynak koddan açıklama şeridini gizler; Önişlem seçeneklerinden en az birini ayarlamayı gerektirir. ayarlar /C.

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 adı verilen iyileştirme olan daha küçük programlara neden olur. /O1, /O2ve /ZI seçeneğini otomatik olarak ayarlayın /GF .

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. , , /RTCu/RTC1kümelerini ayarlar./RTCs

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. , , /MTd, /MD/MDdkümelerini ayarlar./MT

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 - ve _MTtanımlar_DEBUG. Bu seçenek, bağlayıcının dış simgeleri çözümlemek için kullanacağı LIBCMTD.lib kitaplık adını LIBCMTD.lib dosyaya .obj yerleştirmesine de 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. Derleyicinin MSVCRT.lib kitaplık adını dosyaya yerleştirmesini .obj tanımlar _MT ve _DLL neden olur.
  • Çok iş parçacıklı Hata Ayıklama DLL'sini - , _MTve _DLL 'yi tanımlar _DEBUGve 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. Ayrıca, derleyicinin dosyaya kitaplık adını MSVCRTD.lib yerleştirmesine .obj 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ırlarda (varsayılan) paketler.
  • 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ı ile /arch:IA32devre 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ı.

Kayan Nokta Modeli

Kayan nokta modelini ayarlar. , , /fp:strict/fp:fastkümelerini ayarlar./fp:precise

Seçenekler

  • Kesin - Varsayılan. Eşitlik ve eşitsizlik için kayan nokta testlerinin tutarlılığını artırır.
  • Strict - En katı kayan nokta modeli. /fp:strict, KAPALI ve fenv_access AÇI olarak neden olurfp_contract. /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 tetiklenir. ayarlar /fp:except.

Hotpatchable Görüntüsü Oluşturma

Çalışırken düzeltme eki uygulama açıkken, derleyici her işlevin ilk yönergesinin, sık düzeltme eki uygulama için gerekli olan iki bayt olmasını sağlar. ayarlar /hotpatch.

Spectre Risk Azaltma

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ışı - Ayarlanmadı.

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 Ele

Belirtildiğinde, türü wchar_t ile aynı şekilde short __int16eşlenebilen __wchar_t 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 uzantılarıyla deyim döngüleri için for standart C++ davranışı uygular. , (/Za/ZeDil uzantılarını devre dışı bırakın. /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ı zorlama

C++11 standardına göre bir atama işleminin sonucu olarak bir rvalue başvuru 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ümelerini/GR- ayarlar/GR.

MP Desteği'nin açılması

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 set.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 - 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 set.md).

Seçenekler

  • Varsayılan (Eski MSVC)
  • ISO C11 Standard (/std:c11)
  • ISO C17 (2018) Standard (/std:c17)

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, Visual C++ projeleri ISO C++23 Standart Kitaplığı modüllerini otomatik olarak bulur ve derler. Bu, C++ kodunuzda veya import std.compat kodunuzda kullanmanıza import std olanak tanır.

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ümelerini /Yuayarlar/Yc.

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ümelerini /Yuayarlar/Yc.

Ö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. , , /FAc, /FAs/FAcskümelerini ayarlar./FA

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.

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 dosyaları ( oluşturması gerektiğini belirtir. XDC). ayarlar /doc.

XML Belgeleri Dosya Adı

Oluşturulan XML belge dosyalarının adını belirtir; dosya veya dizin adı olabilir. Adı> ayarlar/doc:<.

C/C++ Gözatma Bilgileri Özellikleri

Gözatma Bilgilerini Etkinleştir

Dosyadaki .bsc 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. Adı> ayarlar/FR<.

Dış eklemeler

Açılı Köşeli Ayraçlarla Birlikte Gelen Dosyaları Dış 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ış Üst Bilgi 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 olarak veya varsayılan olarak ayarlanırsa, diğer /external seçenekler yoksayılır.

Dış Üst Bilgilerde Şablon Tanılama

Ş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

Dış üst bilgiler için bir kod çözümleme 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). , , /Gr, /Gz/Gvkümelerini ayarlar./Gd

Seçenekler

  • __cdecl- C++ üye işlevleri ve veya __fastcallolarak işaretlenmiş __stdcall işlevler dışındaki tüm işlevler için çağırma kuralını belirtir__cdecl.
  • __fastcall- 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 __fastcall işlevlerin prototipleri olmalıdır.
  • __stdcall- 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 __stdcall işlevlerin prototipleri olmalıdır.
  • __vectorcall- C++ üye işlevleri ve , __fastcallveya __stdcallolarak işaretlenmiş __cdeclişlevler dışındaki tüm işlevler için çağırma kuralını belirtir__vectorcall. Tüm __vectorcall işlevlerin prototipleri olmalıdır.

Farklı Derle

Kaynak dosyalar için derleme dili seçeneğini belirleyin. , , /TP/interface veya /exportHeader /internalPartitionseçeneklerini ayarlar./TC

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 , , .ixx, .cppm, .hveya uzantısı olmayan .ctü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 .cppm uzantılı .ixx 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. Sayıyı> ayarlar/wd<.

Zorlamalı Ekleme Dosyası

bir veya daha fazla zorlamalı ekleme dosyası. Adı> ayarlar/FI<.

Zorlamalı #using Dosyası

Bir veya daha fazla zorlamalı #using dosyası belirtir. Adı> ayarlar/FU<.

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

Dosyalara .obj varsayılan kitaplık adlarını 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.