GCC 10.1 derleyicisi burada ve bunlar temel yenilikleridir

Bir yıllık geliştirmeden sonra yeni sürümün sürümü yayınlandı ücretsiz setten GCC 10.1 derleyicileriBu, yeni GCC 10.x şubesindeki ilk önemli sürümdür.

Yeni sürüm numaralandırma şemasına göre, geliştirme süreci sırasında sürüm 10.0 kullanıldı ve GCC 10.1'in yayınlanmasından kısa bir süre önce, GCC 11.0 şubesi zaten dallanmıştı ve bu temelde GCC 11.1'den önemli bir sonraki sürüm oluşturulacaktı.

GCC (GNU Derleyici Koleksiyonu) hakkında bilgisi olmayanlar için şunu bilmelisiniz:Bu, GNU projesi tarafından oluşturulan bir dizi derleyicidir, özgür bir yazılımdır ve Özgür Yazılım Vakfı (FSF) tarafından GPL genel kamu lisansı altında dağıtılır.

Bu derleyiciler çoğu Unix sisteminde yaygın olarak kullanılmaktadır. öyle ki Unix işletim sistemleri ve açık kaynak ve Mac OS X gibi tescilli türevler için bir standart olarak kabul ediliyorlar.

GCC, nesne dosyalarını tanımlamak veya kopyalamak, tercüme etmek veya liste oluşturmak, bağlantı kurmak veya gereksiz simgeleri kaldırmak için boyutlarının elde edilmesi gibi görevleri gerçekleştirmek için binutils olarak bilinen uygulama paketini gerektirir.

GCC 10.1'deki yenilikler

GCC 10.1, C++ dilinin birçok yeniliğinin uygulanmasıyla öne çıkıyor C++ 20 standardı için geliştirilen, gelecekteki C dili standardı (C2x) ile ilgili iyileştirmeler, derleyici arka uçlarında yeni optimizasyonlar ve deneysel destek Statik analiz modu için.

C, C++ ve Fortran dilleri için OpenACC 2.6 paralel programlama spesifikasyonu uygulanmıştırGPU'lardaki ve NVIDIA PTX gibi özel işlemcilerdeki boşaltma araçlarını tanımlar.

Standardın uygulanması OpenMP 5.0 (Açık Çoklu İşleme), paylaşımlı bellek ve vektörizasyon birimleri (SIMD) bulunan çok çekirdekli ve hibrit sistemlerde (CPU + GPU/DSP) paralel programlama yöntemlerinin kullanılmasına yönelik API ve yöntemleri tanımlayan, Neredeyse bitti.

Koşullu ifadeler gibi eklenen özellikler lastprivate, tarama ve döngü direktifleri, order ve use_device_addr ifadeleri. OpenMP ve OpenACC için, katma 4. nesil ve 5. nesil AMD Radeon GPU'larda yük boşaltma desteği.

C dilleri için, referans veya işaretçi tarafından iletilen nesnelere işlev erişimini tanımlamak ve bu tür nesneleri, nesnelerin boyutu hakkında bilgi içeren tamsayı argümanlarıyla ilişkilendirmek için "erişim" işlevi eklenmiştir.

"Erişim" ile birlikte çalışmak için "type" özelliği, kullanıcı işlevlerinden hatalı erişimi tespit etmek üzere uygulanır; örneğin, dizi sınırlarının dışındaki bir alana değer yazılması. ELF dosyasındaki karakterleri belirli sürüm numaralarına bağlamak için symver özelliği de eklenmiştir.

C++ için yaklaşık 16 değişiklik ve yenilik uygulandı C++ 20 standardında geliştirildi "continit" anahtar kelimesini içeren şablonların genişletilmesine yönelik destek eklendi ve uygulandı «kavram» şablon parametreleri için bir dizi gereksinimin tanımlanmasına izin veren, derleme sırasında şablon parametreleri olarak alınabilecek argüman kümesini sınırlayan.

Daha ileri Geliştirilmiş prosedürler arası optimizasyonlar öne çıkıyor, IPA-SRA, bağlama sırasında çalışacak şekilde yeniden tasarlandı ve diğer şeylerin yanı sıra, artık kullanılmayan hesaplanmış ve döndürülen değerleri kaldırıyor.

"-O2" optimizasyon modunda, performanstan çok daha kompakt kod için yeniden yapılandırılan "-finline-functions" seçeneği etkinleştirilir.

The gelişmiş bağlantı optimizasyonu (LTO), sve bilgi dökümü için yeni bir lto-dump yürütülebilir dosyası eklendi LTO bayt kodu nesne dosyaları hakkında. LTO paralel geçişlerinde, aynı anda yürütülen yürütme görevlerinin sayısını otomatik olarak belirlemek mümkündür ve bu belirlenemiyorsa paralelleştirme faktörü olarak CPU çekirdeği sayısı hakkındaki bilgileri kullanmak mümkündür.

Optimizasyon mekanizması iyileştirildi ve kod yürütme özelliklerinin analizine dayalı olarak daha optimal kod üreten kod profili oluşturmanın (PGO) sonuçlarına dayanmaktadır.

Daha fazlasını öğrenmek istiyorsanız, bu lansmanın ayrıntılarını kontrol edebilirsiniz Aşağıdaki bağlantıda. 


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.