2011-09-01 53 views

Trả lời

7

GCC 4.6 đã một số hỗ trợ thử nghiệm cho C1X tính năng:

Có tại là hỗ trợ thực nghiệm đối với một số tính năng từ sắp tới C1X sửa đổi tiêu chuẩn ISO C. Hỗ trợ này có thể được chọn với -std = c1x, hoặc -std = gnu1x cho C1X với phần mở rộng GNU. Lưu ý rằng hỗ trợ này là thử nghiệm và có thể thay đổi không tương thích trong các bản phát hành trong tương lai để phù hợp với các thay đổi đối với bản nháp tiêu chuẩn C1X. Các tính năng sau đây mới được hỗ trợ như được mô tả trong bản nháp N1539 của C1X (với những thay đổi được thỏa thuận tại cuộc họp WG14 tháng 3 năm 2011); một số tính năng khác đã được hỗ trợ mà không cần thay đổi trình biên dịch, hoặc có một số hỗ trợ nhưng không hoàn toàn phù hợp với N1539 (được sửa đổi).

  • khẳng định tĩnh (_Static_assert từ khóa)
  • typedef định nghĩa lại
  • macro mới trong <float.h>
  • cấu trúc Anonymous và các đoàn thể
3

Dựa trên sự nhìn chăm chú của danh sách và kiểm tra gcc (ls gcc/gcc/testsuite/gcc.dg/c1x *):

  • Tôi có dạng _Noreturn is coming trong gcc-4.7.
  • Từ bộ kiểm tra, có vẻ như các chuỗi unicode cũng vậy.
  • Nó cũng giống như macro CMPLX are being worked cũng vậy.
  • Có thể _Generic sắp có trong gcc-4.8.
7

Bên cạnh gcc, clang đã bắt đầu thêm hỗ trợ cho các tính năng C1x. Đặc biệt, có hỗ trợ cho _Generic_Static_assert. Một số tính năng khác có thể được triển khai, nhưng tôi chưa thử chúng.

2

Bạn có thể muốn kiểm tra Pelles C ngoài (Chỉ khả dụng cho Windows).

Các vấn đề liên quan