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 .ixx
sahip 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 #include
olarak 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
/O2
kü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 ,
__forceinline
veya__inline
olarakinline
iş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
olarakinline
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
, /O2
ve /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
/RTC1
kü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
/MDd
kü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
_MT
tanı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 - ,
_MT
ve_DLL
'yi tanımlar_DEBUG
ve 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
/Zp
aynı. - 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:cf
ile 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:IA32
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ı.
Kayan Nokta Modeli
Kayan nokta modelini ayarlar. , , /fp:strict
/fp:fast
kü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 vefenv_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
__int16
eş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
/Ze
Dil 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 /Yu
ayarlar/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 /Yu
ayarlar/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
/FAcs
kü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
/Gv
kümelerini ayarlar./Gd
Seçenekler
__cdecl
- C++ üye işlevleri ve veya__fastcall
olarak 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__stdcall
olarak 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__fastcall
olarak 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 ,__fastcall
veya__stdcall
olarak işaretlenmiş__cdecl
iş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
/internalPartition
seç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
,.h
veya uzantısı olmayan.c
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.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.