Sự khác biệt giữa GCC và CC Compiler Sự khác nhau giữa

Anonim

GCC và CC Compiler

CC là tên được đặt cho UNIX Compiler Command. Nó được sử dụng như là lệnh trình biên dịch mặc định cho hệ điều hành của bạn và cũng có thể thi hành với cùng một lệnh. Mặt khác, GCC là hệ điều hành GNU Compiler. Trên các hệ thống chạy trên GNU và Linux, phổ biến là tìm thấy CC là một liên kết sao cho các kịch bản có thể sử dụng trình biên dịch một cách dễ dàng và trao đổi. Có sự khác biệt khác nhau được quan sát thấy khi sử dụng bộ sưu tập trình biên dịch GNU và trình biên dịch CC. Những khác biệt này thường có thể được phân thành hai nhóm chính. Một trong những điều này là cụ thể hơn trong khi nhóm kia lại chung chung hơn.

-11>

Sự khác biệt

Sự khác biệt chính giữa hai đối phó với trình biên dịch C và trình biên dịch C ++. Trình biên dịch C ++ chấp nhận các chương trình C ++ nhưng không biên dịch các chương trình trong C tùy tiện. Điều này nói chung là đúng, mặc dù nó đã được chỉ ra rằng có thể viết một mã ngôn ngữ C trong một tập hợp con có thể được hiểu tốt bởi C ++ ngay cả khi nhiều chương trình C không phải là chương trình C ++ hợp lệ. Mặt khác, các trình biên dịch C chấp nhận các chương trình C nhưng từ chối hầu hết các chương trình C ++ chạy trong chúng. Lý do khiến vấn đề này nảy sinh là hầu hết các chương trình C ++ chạy các cấu trúc không có trong C.

Các thư viện sẵn có cho các ngôn ngữ chương trình này phần lớn phụ thuộc vào ngôn ngữ. Các chương trình C ++ có thể thực hiện trên các thư viện C, nhưng đây là nền tảng cụ thể. Chương trình C, mặt khác không thể sử dụng thư viện C + +; do đó C ++ có xu hướng có một bộ thư viện lớn hơn có sẵn với C.

Trên Solaris, mã đối tượng được tạo ra bởi lệnh compiler không tương thích với mã được sản xuất bởi g ++ vì đây là hai trình biên dịch riêng biệt và các công ước sẽ khác nhau. Các điểm khác biệt chính là xử lý ngoại lệ và mangling tên. Tuy nhiên điều quan trọng cần lưu ý là tên mangling là quan trọng để ngăn chặn sự tương thích của các đối tượng từ được liên kết với nhau. Điều này có hiệu lực chỉ ra rằng việc sử dụng một thư viện biên soạn trong CC cần để toàn bộ chương trình được biên soạn trong CC. Ngoài ra, nếu bạn cần sử dụng một thư viện biên dịch với CC và một với g + +, một biên dịch lại các thư viện phải được thực hiện để đảm bảo các chức năng mong muốn.

Trong chất lượng của lắp ráp được tạo ra, GCC, là bộ sưu tập trình biên dịch GNU, là rất tốt tại nhiệm vụ này. Trình biên dịch tự nhiên tuy nhiên làm việc tốt hơn vào những thời điểm. Các trình biên dịch của Intel có thể được cho là có sự tối ưu hóa toàn diện mà vẫn chưa được nhân rộng trong GCC.

Cả hai trình biên dịch đều có tất cả các tiêu chuẩn hiện tại, mặc dù có sự khác biệt nhỏ giữa ngôn ngữ tiêu chuẩn và ngôn ngữ mà trình biên dịch hỗ trợ. Các tiêu chuẩn này là (C ++ 98, C ++ 2003, C99).Hỗ trợ C89 cũ hơn có sẵn trong cả hai trình biên dịch và sự hiểu biết về các phản hồi dự kiến ​​là rất quan trọng để đảm bảo rằng trình biên dịch sẽ chạy như mong đợi. Tất cả trong tất cả GCC dường như tập trung vào việc làm cho cuộc sống dễ dàng hơn do các phần mở rộng và tinh chỉnh mà có thể được thực hiện để nó để có được kết quả mong muốn.

Tóm tắt

Có sự cố với khả năng tương thích chéo của thư viện trình biên dịch C và C ++.

Các chương trình C ++ có thể thực hiện trên các thư viện C nhưng đây là nền tảng cụ thể.

Để sử dụng thư viện trong CC yêu cầu toàn bộ chương trình phải được biên dịch với CC chứ không phải GCC.

Nếu bạn có một thư viện biên dịch trong CC và g + +, một trong các thư viện phải được biên dịch lại.

GCC thực hiện công việc tuyệt diệu trong việc tạo ra các hội đồng chất lượng.

Cả CC và GCC đều có tính năng ngôn ngữ rất lớn so với các tiêu chuẩn hiện tại.