Sự khác biệt giữa chuỗi công cụ Cross GCC và Linux GCC


24

Trong khi tạo Dự án C ++ mới trong Eclipse, tôi đang được hỏi về toolchain.

Sự khác biệt thực tế giữa các bộ công cụ này - Cross GCCLinux GCC. Trong hoàn cảnh nào sử dụng chúng? Liệu nó có liên quan gì đến việc dự án sẽ được biên dịch trên cả máy linux và windows không?

Trong một trong những câu trả lời chúng ta có thể đọc:

Nói chung, trình biên dịch chéo là trình biên dịch tạo mã cho một loại hệ thống khác với hệ thống của bạn.

Vì vậy, nếu tôi biên dịch dự án trên máy đích bằng cách sử dụng các tệp tạo tệp riêng, thì tôi sẽ chọn tùy chọn nào ở đây, phải không?


10
Cross GCC có nghĩa là bạn đang biên dịch dự án của mình cho một kiến ​​trúc khác, ví dụ: bạn có bộ xử lý x86 và muốn biên dịch cho ARM. Linux GCC chỉ có nghĩa là GCC tiêu chuẩn
Ulrich Dangel

Câu trả lời:


16

Các trình biên dịch chéo bài viết trên wikipedia là khá tốt. Nói chung, trình biên dịch chéo là trình biên dịch tạo mã cho một loại hệ thống khác với hệ thống của bạn. Thông thường, điều này có nghĩa là một kiến ​​trúc phần cứng mục tiêu khác nhau, nhưng nó cũng có thể có nghĩa là một hệ điều hành mục tiêu khác (hoặc cả hai).

Về mặt lý thuyết bạn có thể kết hợp chúng và sử dụng trình biên dịch chéo trên kiến ​​trúc A 1 và hệ điều hành S 1 để xây dựng trình biên dịch chéo chạy trên kiến ​​trúc A 2 trong hệ điều hành S 2 và tạo mã cho hệ điều hành S 3 trên kiến ​​trúc A 3 .

Như Ulrich đã đề cập trong bình luận của mình, Linux GCC phải là trình biên dịch "bản địa" của bạn (nghĩa là cho cùng một mục tiêu).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.