Phiên bản 9.1 mới của trình biên dịch GCC đã được phát hành

gcc-trình biên dịch-9.1

Phiên bản mới này của trình biên dịch GCC đã được cung cấp cách đây vài ngày với các tính năng mới và bản sửa lỗi.

Theo nhóm dự án GNU GCC, phiên bản mới này, phiên bản 9.1 là phiên bản biên dịch chính Chứa các tính năng mới quan trọng không có trong GCC 8.x hoặc các phiên bản cũ hơn. GCC 9.1 sẽ mang lại các tính năng ngôn ngữ mới, tối ưu hóa mới và một số cải tiến hiệu suất cho phần mềm.

Về GCC

GCC là một bộ sưu tập trình biên dịch được tạo bởi dự án GNU. Nó chính xác hơn là một phần mềm miễn phí có khả năng biên dịch các ngôn ngữ lập trình khác nhau, bao gồm C, C ++, Objective-C, Java, Ada và Fortran.

Cũng cần lưu ý rằng được sử dụng để phát triển hầu hết các phần mềm miễn phí. Bản phát hành trình biên dịch chính mới nhất có từ tháng 2018 năm 8.1, phiên bản XNUMX.

Jakub Jelinek, một nhà phát triển Red Hat, giải thích rằng GCC 8.1 đại diện cho một bản phát hành chính mang lại các tính năng mới quan trọng không có trong GCC 7.x và các phiên bản GCC trước đó.

Tại thời điểm này, giao diện người dùng C ++ đã cung cấp hỗ trợ thử nghiệm cho một số hàm C ++ 2a với các tùy chọn -std = c ++ 2a và -std = gnu ++ 2a.

Trong phiên bản 8.2 ở mức nâng cao chung, các vấn đề về hiệu suất LTO (tối ưu hóa thời gian liên kết) do sự cố tràn trong thuật toán phân vùng trong quá trình tạo tệp nhị phân lớn đã được khắc phục.

Các bản sửa lỗi tiếp tục trong nhánh 8.x với việc phát hành phiên bản trình biên dịch 8.3 vào tháng 8.2 năm ngoái. Bản phát hành này là bản sửa lỗi có chứa các bản vá cho các hồi quy trong GCC XNUMX so với các phiên bản trước đó của GCC. Nhóm GCC đã ra mắt một nhánh mới vào ngày 3 tháng 9, phát hành phiên bản XNUMX.

GCC 9.1 có gì mới?

Trong phiên bản này, Hỗ trợ C ++ 17 được giới thiệu kể từ khi phiên bản trình biên dịch 8.1 không còn trải nghiệml. Do đó, hỗ trợ cho C ++ 17 hiện đã ổn định.

Giao diện của C ++ triển khai toàn bộ ngôn ngữ của C ++ 17 và hỗ trợ cho thư viện chuẩn C ++ sắp hoàn thành.

El thư viện front-end và C ++ cũng có nhiều tính năng khác được mã hóa từ C ++ 2a. Ngoài ra, GCC có giao diện mới cho ngôn ngữ D và hiện hỗ trợ một phần OpenMP 5.0 và gần như tích hợp đầy đủ hỗ trợ cho OpenACC 2.5.

Đối với nhiều người, GCC 9 là một phiên bản mạnh mẽ của trình biên dịch cung cấp các tính năng và cải tiến tuyệt vời để cải thiện hiệu suất của nhà phát triển.

Trong số nhiều tính năng mới trong GCC 9.1 là:

  • Hỗ trợ hỗ trợ biên dịch mã được viết bằng ngôn ngữ lập trình D;
  • Một chương trình phụ trợ GPU AMD GCN mới đã được thêm vào GCC. Việc triển khai hiện chỉ giới hạn trong việc biên dịch các chương trình đơn luồng.
  • LRA hiện được bật theo mặc định cho mục tiêu ARC. Điều này có thể được kiểm soát bởi -mlra.
  • Đã thêm hỗ trợ cho mã hình ảnh và báo cáo mật độ nhánh và chỉ mục
  • Được thêm vào GCC là việc bổ sung bộ xử lý C-SKY V2 nhắm mục tiêu mặt sau mới.
  • Hỗ trợ Intel MPX đã bị loại bỏ.
  • Một chương trình phụ trợ mới đã được thêm vào để hỗ trợ bộ xử lý OpenRISC.
  • Hỗ trợ cho đặc điểm kỹ thuật OpenACC 2.5 gần như hoàn tất.
  • Gói "selftest" nội bộ của GCC hiện hoạt động cho C ++ và C (trong các phiên bản gỡ lỗi của trình biên dịch).
  • Hỗ trợ Fortran trong GCC cũng đã được cải thiện. Bây giờ nó xử lý I / O không đồng bộ và các tính năng khác.
  • Tối ưu hóa liên thủ tục (OPI), Tối ưu hóa dựa trên cấu hình, Tối ưu hóa thời gian liên kết (LTO), cũng như nhiều tối ưu hóa khác để đảm bảo chất lượng mã tốt hơn.
  • Tổng thời gian biên dịch cho Firefox 66 và LibreOffice 6.2.3 trên máy 8 lõi đã giảm khoảng 5% so với GCC 8.3. Kích thước của tệp đối tượng LTO giảm 7%.
  • Thời gian liên kết LTO cải thiện 11% trên 8 máy lõi và phát triển đáng kể cho các môi trường xây dựng song song hơn. Giai đoạn nối tiếp của tối ưu hóa thời gian liên kết nhanh hơn 28% và tiêu thụ ít bộ nhớ hơn 20%. Giai đoạn song song hiện phân vùng 128 phân vùng thay vì 32 và giảm 30% mức sử dụng bộ nhớ cho mỗi người dùng.
  • Một tùy chọn mới "-fdiagnostics-format = json" đã được giới thiệu để chẩn đoán ở định dạng máy có thể đọc được.

Fuente: https://gcc.gnu.org


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.