คอมไพเลอร์ GCC เวอร์ชัน 9.1 ใหม่ได้รับการเผยแพร่แล้ว

gcc คอมไพเลอร์ -9.1

คอมไพเลอร์ GCC เวอร์ชันใหม่นี้ เปิดให้ใช้งานเมื่อไม่กี่วันที่ผ่านมาพร้อมคุณสมบัติใหม่และการแก้ไขข้อบกพร่อง

ตามที่ทีมโครงการ GNU GCC เวอร์ชันใหม่นี้ เวอร์ชัน 9.1 เป็นเวอร์ชันคอมไพเลอร์หลัก มีคุณสมบัติใหม่ที่สำคัญที่ไม่มีใน GCC 8.x หรือเวอร์ชันก่อนหน้า GCC 9.1 ควรมีคุณลักษณะภาษาใหม่ ๆการเพิ่มประสิทธิภาพใหม่และการปรับปรุงประสิทธิภาพบางอย่างของซอฟต์แวร์

เกี่ยวกับ GCC

GCC เป็นคอลเลกชันคอมไพเลอร์ สร้างโดยโครงการ GNU มันเป็นซอฟต์แวร์ฟรีมากกว่า สามารถรวบรวมภาษาโปรแกรมต่างๆ ได้แก่ C, C ++, Objective-C, Java, Ada และ Fortran

นอกจากนี้ยังควรสังเกตว่า ใช้สำหรับการพัฒนาซอฟต์แวร์ฟรีส่วนใหญ่. การเผยแพร่คอมไพเลอร์หลักล่าสุดย้อนกลับไปในเดือนพฤษภาคม 2018 เวอร์ชัน 8.1

Jakub Jelinek ผู้พัฒนา Red Hat อธิบายว่า GCC 8.1 เป็นรุ่นหลักที่นำเสนอคุณสมบัติใหม่ ๆ ที่สำคัญซึ่งไม่มีใน GCC 7.x และ GCC เวอร์ชันก่อนหน้า

ณ จุดนี้ฟรอนต์เอนด์ C ++ ได้ให้การสนับสนุนทดลองสำหรับฟังก์ชัน C ++ 2a บางฟังก์ชันด้วยอ็อพชัน -std = c ++ 2a และ -std = gnu ++ 2a

ในเวอร์ชัน 8.2 ที่ระดับการปรับปรุงทั่วไปปัญหาเกี่ยวกับประสิทธิภาพของ LTO (การเพิ่มประสิทธิภาพเวลาลิงก์) เนื่องจากการล้นในอัลกอริธึมการแบ่งพาร์ติชันระหว่างการสร้างไฟล์ไบนารีขนาดใหญ่ได้รับการแก้ไข

การแก้ไขยังคงดำเนินต่อไปในสาขา 8.x ด้วยการเปิดตัวคอมไพเลอร์เวอร์ชัน 8.3 เมื่อเดือนกุมภาพันธ์ที่ผ่านมา รุ่นนี้เป็นรุ่นแก้ไขข้อบกพร่องที่มีแพตช์สำหรับการถอยหลังใน GCC 8.2 เทียบกับ GCC เวอร์ชันก่อนหน้า ทีม GCC เปิดตัวสาขาใหม่ในวันที่ 3 พฤษภาคมโดยปล่อยเวอร์ชัน 9

มีอะไรใหม่ใน GCC 9.1

ในเวอร์ชันนี้ รองรับ C ++ 17 เนื่องจากคอมไพเลอร์เวอร์ชัน 8.1 ไม่มีประสบการณ์อีกต่อไปล. ดังนั้นการสนับสนุน C ++ 17 จึงมีความเสถียรแล้ว

ส่วนต่อประสานของ C ++ ใช้ภาษาทั้งหมดของ C ++ 17 และการสนับสนุนสำหรับไลบรารีมาตรฐาน C ++ ใกล้จะเสร็จสมบูรณ์

El front-end และไลบรารี C ++ ยังมีคุณสมบัติอื่น ๆ อีกมากมายที่เข้ารหัสจาก C ++ 2a. นอกจากนี้ GCC ยังมีอินเทอร์เฟซใหม่สำหรับภาษา D และตอนนี้รองรับ OpenMP 5.0 แล้วบางส่วนและเกือบจะรวมการสนับสนุน OpenACC 2.5 อย่างสมบูรณ์

สำหรับหลาย ๆ คน GCC 9 เป็นคอมไพเลอร์เวอร์ชันที่แข็งแกร่งซึ่งมีคุณสมบัติและการปรับปรุงที่ยอดเยี่ยมเพื่อปรับปรุงประสิทธิภาพของนักพัฒนา

คุณสมบัติใหม่มากมายใน GCC 9.1 ได้แก่ :

  • รองรับการรองรับการคอมไพล์โค้ดที่เขียนด้วยภาษาโปรแกรม D
  • เพิ่มแบ็กเอนด์ GPU AMD GCN ใหม่ใน GCC แล้ว ขณะนี้การใช้งานถูก จำกัด ไว้ที่การรวบรวมโปรแกรมเธรดเดี่ยว
  • ขณะนี้ LRA ถูกเปิดใช้งานโดยค่าเริ่มต้นสำหรับเป้าหมาย ARC สิ่งนี้สามารถควบคุมได้โดย -mlra
  • เพิ่มการรองรับรหัสรูปภาพและงบความหนาแน่นของสาขาและดัชนี
  • สิ่งที่เพิ่มเข้ามาใน GCC คือการเพิ่มโปรเซสเซอร์ C-SKY V2 ที่กำหนดเป้าหมายส่วนหลังใหม่
  • การสนับสนุน Intel MPX ถูกลบออก
  • มีการเพิ่มแบ็กเอนด์ใหม่สำหรับการสนับสนุนโปรเซสเซอร์ OpenRISC
  • การรองรับสเปค OpenACC 2.5 เกือบจะเสร็จสมบูรณ์แล้ว
  • ตอนนี้แพ็คเกจ "การทดสอบตนเอง" ภายในของ GCC ใช้งานได้กับ C ++ และ C (ในคอมไพเลอร์เวอร์ชันดีบัก)
  • การสนับสนุน Fortran ใน GCC ยังได้รับการปรับปรุง ตอนนี้จัดการ I / O แบบอะซิงโครนัสและคุณสมบัติอื่น ๆ
  • Interprocedure Optimization (OPI) การปรับแต่งตามโปรไฟล์การเพิ่มประสิทธิภาพเวลาลิงก์ (LTO) รวมถึงการเพิ่มประสิทธิภาพอื่น ๆ อีกมากมายเพื่อให้แน่ใจว่าคุณภาพของโค้ดดีขึ้น
  • เวลาคอมไพล์ทั้งหมดของ Firefox 66 และ LibreOffice 6.2.3 บนเครื่อง 8 คอร์ลดลงประมาณ 5% เมื่อเทียบกับ GCC 8.3 ขนาดของไฟล์ออบเจ็กต์ LTO ลดลง 7%
  • เวลาในการเชื่อมโยง LTO เพิ่มขึ้น 11% ในเครื่อง 8 แกนและพัฒนาขึ้นอย่างมากสำหรับสภาพแวดล้อมการก่อสร้างแบบขนานมากขึ้น ขั้นตอนอนุกรมของการเพิ่มประสิทธิภาพเวลาลิงค์เร็วขึ้น 28% และใช้หน่วยความจำน้อยลง 20% Parallel Stage แบ่งพาร์ติชัน 128 พาร์ติชันแทนที่จะเป็น 32 และลดการใช้หน่วยความจำสำหรับผู้ใช้แต่ละคน 30%
  • ตัวเลือกใหม่ "-fdiagnostics-format = json" ได้รับการแนะนำสำหรับการวินิจฉัยในรูปแบบที่เครื่องอ่านได้

Fuente: https://gcc.gnu.org


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา