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++ derleyicisi (MSVC) 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++20
olarak/std:c++17
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 projeniz Visual Studio'nun eski bir sürümünü temel aldıysa, bunu Visual Studio 2017 veya Visual Studio 2019'da açabilirsiniz. Visual Studio, en son derleyici ve IDE özelliklerinin tümü için destekle bunu otomatik olarak geçerli proje şemasına dönüştürür.
Daha fazla bilgi için bkz . Visual Studio'nun önceki sürümlerinden C++ projelerini yükseltme.
Kod tabanında arama
Bir kod tabanının yükseltilmesi genellikle birden çok dosyada arama içerir. Kod tabanınızdaki herhangi bir öğeyi aramak için Ctrl+T tuşlarına basarak Tümüne Git arama kutusunu açın.
Arama kapsamını daraltmak için, 1 harfli filtrelerden birini, ardından bir boşluk ve ardından aradığınız şeyi yazın.
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.
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.
Ç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.
- C++ uyumluluğu geliştirmeleri
- Visual C++ Değişiklik Geçmişi 2003 - 2015
- Olası yükseltme sorunlarına genel bakış
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. Proje>Özellikleri>Kod Analizi altında ek 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.
Hangi uyarıların görüntüleneceğini seçmek için Kod sütunundaki filtre simgesine tıklayın.
Kod çözümleme hataları ve uyarıları, derleyici hataları gibi Hata Listesi'nde de görünür.
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ı AVERAGE
makronun kullanımı gösterilmektedir. Görüntüde, fare imleci üzerine geldiğinde görüntülenen QuickInfo araç ipucu da gösterilir:
Modern C++'ta makro kullanımı önerilmez çünkü Visual Studio makroları işlevlere dönüştürmeyi constexpr
kolaylaştırır:
Sağ tıklayın
AVERAGE
ve Tanıma Git'i seçin.Tornavida simgesine tıklayın ve Makroyu constexpr'ye dönüştür'ü seçin
Makro aşağıda gösterildiği gibi dönüştürülür:
Ç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:
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:
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.
Dize şu şekilde dönüştürülür: R"(C:\Users\bjarnes\demo\output.txt)"
.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin