Tại sao 'bc' được yêu cầu để xây dựng nhân Linux?


66

Các yêu cầu xây dựng tối thiểu của nhân Linux xác định rằng máy tính bcđược yêu cầu để xây dựng kernel v4.10, phiên bản tối thiểu của công cụ 1.06.95.

Việc sử dụng nào được tạo ra bctrong bối cảnh này và tại sao ngôn ngữ C không được sử dụng trực tiếp thay vì bccho các hoạt động này?


10
Bạn có ý nghĩa gì khi sử dụng C trực tiếp ? Tôi không nghĩ rằng việc sử dụng C làm "ngôn ngữ kịch bản" trong quá trình xây dựng là trực tiếp hoặc tiện dụng.
cubuspl42

4
@ cubuspl42 bạn chỉ có thể viết các hoạt động trong nguồn và để trình biên dịch tính toán nó thành các hằng số. Trong thực tế, những gì nó được sử dụng là một chút quá phức tạp cho điều đó.
OrangeDog

Câu trả lời:


83

bcđược sử dụng trong quá trình xây dựng kernel để tạo hằng số thời gian trong các tệp tiêu đề. Bạn có thể thấy nó được gọi vàoKbuild , nơi nó xử lý kernel/time/timeconst.bcđể tạo timeconst.h.

Điều này có thể được triển khai như một chương trình C được xây dựng và chạy trong quá trình xây dựng, nhưng nó dễ sử dụng hơn bc(nhỏ và phổ biến; thực tế nó là một phần của bộ công cụ bắt buộc trên hệ thống POSIX - hạt nhân mong đợi GNU bcmặc dù).

bcđược sử dụng ở đây thay vì Perl . Thông điệp cam kết cho thấy bcđã được sử dụng trước đây, nhưng tôi không thể tìm thấy dấu vết của điều đó; Perl đã được sử dụng từ năm 2008 (gây ra nhiều phiền toái cho mọi người , mặc dù bộ vá đó không bao giờ được hợp nhất).

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.