Aracılığıyla paylaş


C++ kodunu yükseltmek için Visual Studio IDE araçları

Visual Studio, derleyici seçenekleri, kod çözümleme uyarıları ve Hızlı Düzeltmeler, Hızlı Bilgi ve gelişmiş kaydırma çubuğu gibi düzenleyici özellikleriyle eski C++ kodunu yükseltmenize yardımcı olur. "Eski kod" terimi şu kategorilerden herhangi birini ifade eder:

  • Daha önce Microsoft C++ (MSVC) derleyicisi tarafından izin verilen ancak hiçbir zaman C++ standardına uymayan kod.

    Uyumlu olmayan eski MSVC kodunu yükseltmek için derleyici seçeneğini açın /permissive- . Uyumlu olmayan kullanımların tüm örnekleri, kod düzenleyicisinde kırmızı dalgalı çizgiler ile altı çizili olarak gösterilir. Hata Listesi penceresindeki hata iletileri, hatayı düzeltmeye yönelik bir öneri içerir. Belgelerde yardım sayfasına gitmek için hata koduna tıklayın. Tüm hataları aynı anda düzeltmek pratik değilse, seçeneği açıp /permissive- bazı hataları düzeltip seçeneği yeniden kapatarak uyumsuz kodu aşamalı olarak yükseltebilirsiniz. Kod yeni geliştirmelerle derlenir ve geri dönüp kalan sorunları daha sonra düzeltebilirsiniz. /permissive- Uyumsuz MSVC kodu örnekleri için sayfaya bakın.

  • C++ standardının önceki bir sürümünde izin verilen ancak daha sonraki bir sürümde kullanım dışı bırakılan veya kaldırılan kod.

    Daha yeni bir dil standardına yükseltmek için C++ Dil Standardı seçeneğini istediğiniz standarda ayarlayın ve oluşan derleme hatalarını düzeltin. Genel olarak, standart dili veya /std:c++17olarak /std:c++20 ayarlamanızı öneririz. Daha yeni bir standarda yükseltilirken oluşan hatalar, seçeneği kullanılırken /permissive- oluşan hatalara bağlı değildir.

  • Standardın tüm sürümlerine uyan ancak artık modern C++'da en iyi yöntem olarak kabul edilmeen kod.

    Değişikliklerin önerildiği kodu belirlemek için Kod analizini çalıştırın.

Eski projeyi açma ve dönüştürme

Eski projeleriniz Visual Studio'nun eski bir sürümünü temel alırsa, bunları daha yeni bir sürüme yükleyebilir ve eski sürümle geriye dönük uyumluluğu korurken orada çalışabilirsiniz. Visual Studio'nun yeni sürümüne kalıcı olarak geçmeye hazır olduğunuzda projelerinizi yeniden hedefleyebilirsiniz. Bu, IDE'deki en son derleme araçlarını ve proje özelliklerini kullanmanıza olanak tanır, ancak artık yeniden hedeflenen projeleri Visual Studio'nun eski sürümünde yükleyemezsiniz.

Projeleri Visual Studio 2026 biçimine yeniden hedeflemek için, eski projeleri içeren bir çözümü ilk kez açtığınızda görünen kurulum yardımcısını kullanabilirsiniz. Çözüm Gezgini'nde çözüme sağ tıklayıp Çözümü yeniden hedefle'yi seçerek de erişebilirsiniz.

En son MSVC Derleme Araçları ve v145 Platform Araç Takımı'na yeniden hedefleme için seçilen projelerin listesini gösteren Visual Studio 2026 kurulum yardımcısının ekran görüntüsü.

Ardından kurulum yardımcısı size eski sürümde kalma ve derlemek için gereken eksik derleme araçlarını veya Windows SDK'larını yükleme veya projeleri yükseltmek için yeniden hedefleme seçeneği sunar. Çözümdeki her proje için yeniden hedefleme seçimleri yapabilir veya tümünü yeniden hedefle>Uygula seçeneğini belirleyerek yükseltebilirsiniz.

Daha fazla bilgi için bkz . Visual Studio'nun önceki sürümlerinden C++ projelerini yükseltme.

Hata Listesi

İstediğiniz C++ Dil Standardı'nı ve diğer derleyici seçeneklerini (Proje>Özellikleri>Genel) ayarladıktan sonra, projenizi derlemek için Ctrl+Shift+B tuşlarına basın. Kodda çeşitli yerlerde kırmızı dalgalı çizgiler biçiminde bazı hatalar ve uyarılar görmeyi bekleyebilirsiniz. Hatalar Hata Listesi'nde de görünür. Belirli bir hata hakkında daha fazla bilgi için, belgelerde yardım sayfasına gitmek için hata koduna tıklayın. "C" ile başlayan hata kodları derleyici hatalarıdır. "MSB" ile başlayan kodlar, proje yapılandırmasıyla ilgili bir sorunu gösteren MSBuild hatalarıdır.

Hata Listesi'nde derleyici ve MSBuild hatalarını gösteren ekran görüntüsü.

Belge Durumu Göstergesi

Düzenleyicinin en altındaki belge durumu göstergesi geçerli belgedeki hata ve uyarı sayısını gösterir ve bir uyarıdan/hatadan sonrakine doğrudan gitmenizi sağlar.

Belge sistem durumu göstergesi.

Çoğu durumda, Visual Studio değişiklik geçmişi ve uyumluluk geliştirmeleri hakkındaki belgelerde belirli bir hata hakkında daha fazla bilgi bulabilirsiniz.

Kodunuzu modernleştirmek için kod analizini kullanma

Yükseltme sırasında, kodun Microsoft Yerel Önerilen Kuralları'na en azından uyması için projenizde kod analizi çalıştırmanızı öneririz. Bu kurallar, Microsoft tarafından tanımlanan kuralların bir bileşimi ve C++ Temel Yönergelerinin bir alt kümesidir. Bunlara uygun olarak yaygın hata kaynaklarını büyük ölçüde azaltır veya ortadan kaldırırsınız ve aynı zamanda kodunuzun daha okunabilir olmasını ve dolayısıyla bakımının daha kolay olmasını sağlarsınız. Microsoft Yerel Önerilen Kuralları kullanılarak Kod Analizi varsayılan olarak etkindir. Projeek kuralları etkinleştirebilirsiniz. Kurallardan birini ihlal eden kod uyarı olarak işaretlenir ve kod düzenleyicisinde yeşil dalgalı çizgiyle altı çizilir. Sorunu açıklayan bir QuickInfo araç ipucu görmek için dalgalı çizginin üzerine gelin.

Kod analizi araç ipucunun ekran görüntüsü.

Hangi uyarıların görüntüleneceğini seçmek için Kod sütunundaki filtre simgesine tıklayın.

Hata Listesi'ndeki Kod analizi filtrelerinin ekran görüntüsü.

Kod çözümleme hataları ve uyarıları, derleyici hataları gibi Hata Listesi'nde de görünür.

Hata Listesi'ndeki Kod analizi uyarılarının ekran görüntüsü.

Etkin olan kuralları değiştirebilir ve özel kural kümeleri oluşturabilirsiniz. Kod Analizini kullanma hakkında daha fazla bilgi için bkz . C/C++ için kod analizine genel bakış.

Kodu modernleştirmek için Hızlı Eylemler'i kullanma

Kod düzenleyicisi bazı yaygın öneriler için Hızlı Eylemler sağlar. Ampul simgesi görüntülendiğinde, kullanılabilir Hızlı İşlemler'i görmek için ampule tıklayabilirsiniz.

Makroları constexpr işlevlerine dönüştürme

Aşağıdaki görüntüde, varsayılan anlamsal renklendirmeye sahip olan adlı AVERAGEmakronun kullanımı gösterilmektedir. Görüntüde, fare imleci üzerine geldiğinde görüntülenen QuickInfo araç ipucu da gösterilir:

QuickInfo makro genişletmesinin ekran görüntüsü.

Modern C++'ta makro kullanımı önerilmez çünkü Visual Studio makroları işlevlere dönüştürmeyi constexpr kolaylaştırır:

  1. Sağ tıklayın AVERAGE ve Tanıma Git'i seçin.

  2. Tornavida simgesine tıklayın ve Makroyu constexpr'ye dönüştür'ü seçin

    Constexpr için hızlı eylem makrosunun ekran görüntüsü.

Makro aşağıda gösterildiği gibi dönüştürülür:

Constexpr işlevinin ekran görüntüsü.

Çağrısı AVERAGE artık işlev çağrısı olarak renklendirilir ve Hızlı Bilgi araç ipucu işlevin çıkarılmış türünü gösterir:

Constexpr işlev çağrısının ekran görüntüsü.

Değişkenleri başlatma

Başlatılmamış değişkenler, ciddi hatalara yol açan rastgele değerleri barındırabilir. Kod analizi bu örnekleri işaretler ve düzenleyici bir Hızlı İşlem sağlar:

Başlatılmamış değişkenin açılır penceresinin ekran görüntüsü.

Ham dize sabit değerine dönüştürme

Ham dize değişmez değerleri, ekli kaçış karakterlerine sahip dizelere göre daha az hataya eğilimli ve yazması daha uygundur. Bir dizeye sağ tıklayın ve hızlı eylemler'i seçerek ham dize değişmez değerine dönüştürün.

Ham dize değişmez değeri.

Dize şu şekilde dönüştürülür: R"(C:\Users\bjarnes\demo\output.txt)".