cppcheck 2.6'nın yeni sürümü zaten yayınlandı ve bunlar onun haberleri

Serbest bırakılması statik kod çözümleyicisinin sürümü cpp kontrolü 2.6O C ve C++ kodundaki çeşitli türdeki hataları tespit etmeye izin verirgömülü sistemlere özgü standart olmayan sözdizimi kullanırken bile.

cppcheck'in çeşitli geliştirme, sürekli entegrasyon ve test sistemleri ile entegrasyonunun yanı sıra kodlama stili ile kod uyumluluğunu kontrol etme gibi özelliklerin sağlandığı bir eklenti koleksiyonu sağlanır.

Kodu analiz etmek için, hem kendi ayrıştırıcınızı hem de harici bir Clang ayrıştırıcısını kullanabilirsiniz. Ayrıca, Debian paketleri için ortak kod inceleme çalışmaları için yerel kaynaklar sağlamak üzere bir donate-cpu.py betiği içerir.

cppcheck'in geliştirilmesi tanımlanmamış davranışlarla ilişkili sorunları belirlemeye odaklanır ve güvenlik açısından tehlikeli olan yapıların kullanımı.

Amaç aynı zamanda yanlış pozitifleri en aza indirmektir.. Tanımlanan problemler arasında: var olmayan nesnelere işaretçiler, sıfıra bölme, tamsayı taşmaları, hatalı bit kaydırma işlemleri, yanlış dönüştürmeler, bellek sorunları, STL'nin yanlış kullanımı, boş işaretçilerin referansının kaldırılması, bir arabelleğe gerçek erişimden sonra kontrollerin uygulanması, başlatılmamış değişkenler kullanarak arabellek sınırlarının taşması.

cppcheck 2.6'nın başlıca yeni özellikleri

Bu yeni sürümdeAyrıştırıcının çekirdeğine çeşitli kontroller ekledikarasında işlevin gövdesinde bir dönüş ifadesinin bulunmadığının doğrulanmasının yanı sıra örtüşen veri kayıtlarının, tanımsız davranış tanımlarının ve ayrıca karşılaştırılan değerin doğrulanmasının gösterim aralığının dışında olduğu öne çıkıyor. türün değeri.

Öne çıkan bir diğer yenilik ise, kopyalama optimizasyonu std :: move (yerel) döndürmek için geçerli değildir;, ayrıca Unix platformları için tanı mesajlarının farklı renklerde görüntülenmesi için destek eklendi ve kitaplık etiketi artık bir etiket içerebilir benzersiz özelliklere sahip akıllı işaretçiler için. Sarkan bağlantı uyarısı artık bu tür akıllı işaretçilere verilir.

Buna ek olarak, Misra C 2012'nin kontrolleri eksiksiz olarak uygulandı, Kural 1, 2 ve 1.1 hariç, Değişiklik 1.2 ve Değişiklik 17.3 dahil. Derleyici 1.1 ve 1.2 kontrollerini yapmalıdır. GCC gibi bir derleyici 17.3'ü kontrol edebilir.

Öne çıkan diğer değişikliklerden bu yeni sürümün:

  • Dosya, farklı akışlarda okumak ve yazmak için aynı anda açılamaz;
  • ValueFlow için sembolik analiz eklendi. İki bilinmeyen değişken arasındaki fark hesaplanırken basit bir delta kullanılır;
  • "Tanımla" belirteç listesi için kullanılan kurallar aynı zamanda #include;
  • kitaplık etiketi artık bir etiket içerebilir ve böylece std :: size, std :: boş, std :: start, std :: end, vb. gibi kapsayıcıları kabul edebilen ücretsiz işlevler. konteynırlar için yeld veya eylem belirtebilirsiniz;
  • –cppcheck-build-dir parametresinin işlenmesiyle ilgili sorunlar düzeltildi;
    htmlreport artık yazar hakkındaki bilgileri yazdırabilir (git suçlamayı kullanarak);
  • Sabit olmayan ancak sabit olabilen değişkenler için genişletilmiş uyarılar;
  • Birikmiş analizör hataları ve eksiklikleri giderildi.

Son olarak, bu yeni sürüm hakkında daha fazla bilgi edinmek istiyorsanız, aşağıdaki bağlantıdaki ayrıntılar.

Linux'ta cppcheck nasıl kurulur?

Linux dağıtımlarına cppcheck kurabilmek isteyenler aşağıda paylaştığımız talimatları takip edebilirler.

Bir Debian kullanıcısıysanız veya Deepin veya Ubuntu gibi ondan türetilmiş veya ondan türetilmiş başka bir dağıtımsanız, aşağıdaki komutu yazarak doğrudan terminalden yükleyebilirsiniz:

sudo apt-get install cppcheck

Artık Fedora kullanıcıları ve türevleri olanlar için aşağıdaki komutu yazarak kurulumu gerçekleştirebilirler:

sudo yum instalar cppcheck

Veya Arch Linux kullanıcıları veya onun herhangi bir türevi olanlar için aşağıdaki komutla kurulum yapabilirler:

sudo pacman -S cppcheck


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.