biên dịch chéo là gì?biên dịch chéo là gì?
Trả lời
Cross-compilation là hành động biên dịch mã cho một hệ thống máy tính (thường được gọi là đích) trên một hệ thống khác, được gọi là máy chủ lưu trữ.
Đây là một kỹ thuật rất hữu ích, ví dụ khi hệ thống đích quá nhỏ để lưu trữ trình biên dịch và tất cả các tệp có liên quan.
Ví dụ phổ biến bao gồm nhiều hệ thống được nhúng, nhưng cũng có bảng điều khiển trò chơi điển hình.
Theo nghĩa hẹp, đó là việc biên dịch mã trên một máy chủ được dự định chạy trên một máy chủ khác.
Thông dụng nhất nó được sử dụng với tham chiếu đến biên dịch cho kiến trúc không tương thích nhị phân với máy chủ - ví dụ, xây dựng nhị phân RISC trên nền tảng CPU CISC hoặc 64-bit nhị phân trên hệ thống 32 bit. Hoặc, ví dụ, xây dựng phần mềm dự định chạy trên các thiết bị nhúng (có lẽ sử dụng kiến trúc CPU ARM) trên các hệ điều hành dựa trên Intel PC.
Để "biên dịch chéo" là biên dịch nguồn trên một hộp Linux có ý định chạy trên hộp MAC hoặc Windows. Điều này thường được thực hiện bằng cách sử dụng một plugin biên dịch chéo, sẵn có từ nhiều máy chủ web khác nhau trên mạng. Nếu một người cài đặt một trình biên dịch chéo vào hộp Linux của họ được thiết kế để biên dịch cho các hộp Windows. Sau đó, họ có thể biên dịch cho một hộp Linux/* NIX cũng như có tùy chọn biên dịch và liên kết tệp thực thi Windows sẵn sàng. Điều này là cực kỳ thuận tiện cho một lập trình viên tự do có quyền truy cập vào không quá một hộp Linux/Windows/MAC. Lưu ý rằng các trình biên dịch chéo khác nhau sẽ cho phép nhiều ứng dụng, một số trong đó bạn có thể hoặc có thể không nhận thấy là hữu ích, do đó một sự xem xét kỹ lưỡng về tệp README của plugin.
Bạn có một dự án cụ thể nào trong đầu rằng bạn muốn áp dụng phương pháp biên dịch chéo?
Trình biên dịch chéo biên dịch mã nguồn từ một kiến trúc này sang kiến trúc khác.
Ví dụ: hello.c
gcc hello.c
(gcc là một trình biên dịch cho kiến trúc x86.)arm-cortexa8-linux-gnueabihf-gcc hello.c
(tay -....- gcc là một trình biên dịch cho kiến trúc cánh tay.) Đây bạn đang biên dịch trên máy chủ cho một bảng mục tiêu (ví dụ như rpi, beaglebone, wega board). Trong ví dụ này,arm-cortexa8-linux-gnueabihf-gcc
được gọi là 'trình biên dịch chéo'.
Quá trình này được gọi là biên dịch chéo.
xem liên kết để biết thêm thông tin cross compilation
- 1. Biên dịch chéo với SBCL
- 2. Biên dịch chéo: GCC bỏ qua --sysroot
- 3. Trình biên dịch mẫu javascript là gì?
- 4. Biên dịch nền tảng chéo Asterisk
- 5. Biên dịch chéo MinGW trên linux
- 6. Trình biên dịch chéo Delphi cho linux
- 7. Biên dịch chéo cho ARM Với Autoconf
- 8. Biên dịch chéo trên Windows và Linux
- 9. Trình biên dịch hoặc trình biên dịch Scheme tốt nhất là gì?
- 10. Siêu biên là gì?
- 11. Làm thế nào để biên dịch chéo Git cho ARM?
- 12. Trình biên dịch C++ rất dễ (VC++) là gì?
- 13. Thư viện được biên dịch JavaScript là gì?
- 14. Lỗi trình biên dịch delphi E2134 có nghĩa là gì?
- 15. #defined nếu trình biên dịch tuân thủ Cpp0x là gì?
- 16. Cờ trình biên dịch Visual Studio C++: là gì -Zm200?
- 17. Những nhược điểm của việc biên dịch JIT là gì?
- 18. Liên tục gấp trong trình biên dịch java là gì?
- 19. Khi biên dịch mã x64, sự khác nhau giữa "x86_amd64" và "amd64" là gì?
- 20. Hiệu suất biên dịch mã bằng biên dịch biên dịch
- 21. Sự khác biệt giữa Trình biên dịch Chỉ trong thời gian và Phiên dịch là gì?
- 22. Trình dịch Java biên dịch bằng `(byte) + (char) - (int) + (long) - 1` là gì?
- 23. Dấu chéo ngược kép \ nghĩa là gì trong Haskell?
- 24. Trình biên dịch/trình biên dịch/trình biên dịch C++
- 25. Có trình biên dịch là dịch vụ cho C++ không?
- 26. Tham số kiểu E2511 'T' phải là lỗi trình biên dịch loại lớp nghĩa là gì?
- 27. Tiền tố và đường dẫn của trình biên dịch chéo trong eclipse
- 28. Cross biên dịch php
- 29. Trình biên dịch biên dịch trong C#
- 30. Biên dịch chéo cho hệ thống Linux dựa trên ARM nhúng
oh..so u biên dịch mã trên một hệ thống..và triển khai thực thi trong hệ thống khác? –
Liên kết wikipedia "bắt buộc": http://en.wikipedia.org/wiki/Cross_compilation – FeatureCreep
Có. Và các hệ thống có kiến trúc khác nhau. – Stephan202