GCC 11.1 аль хэдийн гарсан бөгөөд эдгээр нь түүний хамгийн чухал мэдээ, өөрчлөлтүүд юм

Хөгжлийн нэг жилийн дараа GCC 11.1 хөрвүүлэгч програмын шинэ хувилбар гарлаа, GCC 11.x шинэ салбар дахь анхны чухал хувилбар. Шинэ хувилбарын дугаарлалтын схемийн дагуу 11.0 хувилбарыг боловсруулалтын явцад ашиглаж байсан бөгөөд GCC 11.1 гарахаас өмнөхөн GCC 12.0-ийн салбар нь GCC 12.1-ийн дараагийн томоохон хувилбарыг гаргахаар аль хэдийнээ салгагдсан байсан.

GCC 11.1 нь анхдагч дибаг хийх файлын формат DWARF 5 руу шилжихэд ялгардаг, анхдагчаар C ++ 17 стандартыг оруулсан ("-std = gnu ++ 17"), C ++ 20 стандартад нийцсэн байдал сайжирсан, C ++ 23-ийн туршилтын дэмжлэг, ирээдүйн стандарттай холбоотой сайжруулалтууд C хэл (C2x), шинэ гүйцэтгэлийн оновчлол.

GCC 11.1 Шинэ үндсэн шинж чанарууд

C ++ хэлний анхдагч горимыг C ++ 17 стандартыг ашиглахаар өөрчилсөн, өмнө нь санал болгосон C ++ 14-ийн оронд. Бусад загваруудыг параметр болгон ашигладаг загваруудыг боловсруулахдаа шинэ C ++ 17 горимыг сонгон идэвхгүй болгох боломжтой (-fno-new-ttp-matching).

Тоног төхөөрөмжийн хурдатгалын дэмжлэгийг нэмсэн Санах ойтой ажиллахад суллагдсан санах ойн талбайнууд, хуваарилагдсан буферын хязгаараас хэтэрсэн болон бусад зарим төрлийн алдааг тодорхойлох боломжийг олгодог AddressSanitizer хэрэгсэл. Одоогийн байдлаар тоног төхөөрөмжийн хурдатгал нь зөвхөн AArch64 архитектурын хувьд боломжтой бөгөөд Linux цөмийг хөрвүүлэхдээ түүний хэрэглээнд анхаарлаа төвлөрүүлдэг.

Танилцуулсан өөр нэг шинэлэг зүйл бол шинэ IPA-modref дамжуулалт нэмэгдсэн тул процедурын хоорондох оновчлол, сайжруулалт (-fipa-modref) функцын дуудлагын гаж нөлөөг хянах, анализын нарийвчлалыг сайжруулах. Үүнээс гадна a IPA-ICF нэвтрүүлгийн хэрэгжилтийг сайжруулах (-fipa-icf), энэ нь хөрвүүлэх санах ойн хэрэглээг бууруулж, ижил кодын блокуудыг нэгтгэсэн нэгдсэн функцүүдийн тоог нэмэгдүүлдэг.

El профайл дээр тулгуурласан оновчлолын хөдөлгүүр (PGO), сайжруулсан "-fprofile-values" горим шууд бус дуудлагад илүү олон параметрүүдийг хянах замаар.

Мөн түүнчлэн OpenMP 5.0 стандартыг үргэлжлүүлэн хэрэгжүүлэх талаар онцлон тэмдэглэв (Нээлттэй олон боловсруулалт), үүнд даалгаврын удирдамжийн анхны дэмжлэг, жигд бус гогцоо ашиглах чадварыг нэмсэн OpenMP бүтээхэд. OMP_TARGET_OFFLOAD орчны хувьсагчийг одоо дэмжиж байна.

GPU болон NVIDIA PTX гэх мэт тусгай процессоруудад ачиж буулгах үйл ажиллагааны хэрэгслийг тодорхойлдог C, C ++, Fortran хэлүүдэд зориулагдсан OpenACC 2.6 зэрэгцээ програмчлалын тодорхойлолтыг хэрэгжүүлэх ажлыг сайжруулав.

C гэр бүлийн хэлнүүдийн хувьд "no_stack_protector" гэсэн шинэ шинж чанар хэрэгжиж эхэлсэн. стекийн хамгаалалтыг идэвхжүүлж болохгүй функцийг тэмдэглэх зориулалттай ("-fstack-protector"). "Malloc" шинж чанар нь санах ойг хуваарилах, суллах хос дуудлагыг тодорхойлоход дэмжлэг болж өргөжсөн, санах ойн ердийн алдааг (санах ойн алдагдал, чөлөөт дараа ашиглах, чөлөөт функцэд давхар дуудлага хийх гэх мэт) илрүүлэх, "-Wmismatched-dealloc", "-Wmismatched- new-delete" ба " -Чөлөөт бус-объект-объект "харилцан уялдаагүй хуваарилалт, хуваарилалтын үйл ажиллагааг тайлагнах.

Дибаг хийх мэдээллийг үүсгэхдээ DWARF 5 форматыг анхдагч байдлаар ашигладаг бөгөөд энэ нь өмнөх хувилбаруудтай харьцуулахад дибаг хийх өгөгдлийг 25% илүү нягтаршуулах боломжийг олгодог. DWARF 5-ийн бүрэн дэмжлэг нь дор хаяж 2.35.2 хувилбарыг ашиглахыг шаарддаг.

Сайжруулсан ThreadSanitizer горимын чадвар (-fsanitize = thread), тийм ээe нь өөр ажиллуулах цаг хугацаа, орчинд дэмжлэг үзүүлэх, Линуксийн цөм дэх уралдааны нөхцлийг динамикаар илрүүлэх зорилгоор Kernel Concurrency ариутгагч (KCSAN) дибаг хийх хэрэгслийг дэмжих. "–Param tsan-differish-volatile" ба "–param tsan-instrument-func-entry-exit" гэсэн шинэ сонголтууд нэмэгдэв.

Векторжуулагч нь функцын бүх агуулгын нягтлан бодох бүртгэл, хяналтын урсгалын график (CFG) дэх өмнөх блокуудын огтлолцол, лавлагаатай холбоотой боломжуудын нэмэлт боловсруулалтыг хангадаг.

Оптимизатор нь ижил хувьсагчийг харьцуулсан хэд хэдэн нөхцөлт үйлдлийг өөрчлөлтийн илэрхийлэл болгон хөрвүүлэх чадвартай байдаг. Цаашид битийн туршилтын зааврыг ашиглан өөрчлөлтийн илэрхийлэлийг кодлох боломжтой (энэ хөрвүүлэлтийг хянахын тулд "-fbit-test" сонголтыг нэмж оруулсан болно).

C ++ хэлний хувьд C ++ 20 стандартад санал болгосон өөрчлөлт, шинэчлэлийн нэг хэсэг хэрэгжсэн бөгөөд үүнд виртуал функцууд "consteval virtual", объектын амьдралын мөчлөгийг зогсоох псевдо-устгагч, enum анги ашиглан тооцоо хийдэг. "шинэ" илэрхийлэл дэх массивын хэмжээ.

Хэрэв та энэ талаар илүү ихийг мэдэхийг хүсч байвал, та дэлгэрэнгүй мэдээллийг шалгаж болно дараах холбоос. 


Нийтлэлийн агуулга нь бидний зарчмуудыг баримталдаг редакцийн ёс зүй. Алдааны талаар мэдээлэхийн тулд товшино уу энд байна.

Сэтгэгдэл бичих эхний хүн бай

Сэтгэгдэлээ үлдээгээрэй

Таны и-мэйл хаяг хэвлэгдсэн байх болно. Шаардлагатай талбарууд нь тэмдэглэгдсэн байна *

*

*

  1. Мэдээллийг хариуцах: Мигель Анхель Гатан
  2. Мэдээллийн зорилго: СПАМ-ыг хянах, сэтгэгдлийн менежмент.
  3. Хууль ёсны байдал: Таны зөвшөөрөл
  4. Мэдээллийн харилцаа холбоо: Хуулийн үүргээс бусад тохиолдолд мэдээллийг гуравдагч этгээдэд дамжуулахгүй.
  5. Өгөгдөл хадгалах: Occentus Networks (ЕХ) -с зохион байгуулсан мэдээллийн сан
  6. Эрх: Та хүссэн үедээ мэдээллээ хязгаарлаж, сэргээж, устгаж болно.