ทำไมต้อง 'bc' เพื่อสร้างเคอร์เนล Linux


66

ลินุกซ์เคอร์เนลต้องการอาคารน้อยระบุว่าเครื่องคิดเลขbcเป็นสิ่งจำเป็นในการสร้าง v4.10 1.06.95เคอร์เนลรุ่นที่น้อยที่สุดของการเป็นเครื่องมือ

มีการใช้สิ่งใดbcในบริบทนี้และทำไมภาษา C จึงไม่ใช้โดยตรงแทนbcการดำเนินการเหล่านี้


10
คุณหมายถึงอะไรโดยใช้ C โดยตรง ? ฉันไม่คิดว่าการใช้ C เป็น "ภาษาสคริปต์" ในระหว่างการ build นั้นโดยตรงหรือสะดวก
cubuspl42

4
@ cubuspl42 คุณสามารถเขียนการดำเนินการในแหล่งที่มาและให้คอมไพเลอร์คำนวณมันเป็นค่าคงที่ ในความเป็นจริงสิ่งที่มันใช้ค่อนข้างซับซ้อนเกินไปสำหรับเรื่องนั้น
OrangeDog

คำตอบ:


83

bcถูกใช้ระหว่างการสร้างเคอร์เนลเพื่อสร้างค่าคงที่เวลาในไฟล์ส่วนหัว คุณสามารถเห็นมันเรียกในKbuildที่จะประมวลผลเพื่อสร้างkernel/time/timeconst.bctimeconst.h

สิ่งนี้สามารถนำไปใช้เป็นโปรแกรม C ที่สร้างขึ้นและรันในระหว่างการ build แต่มันใช้งานได้ง่ายกว่าbc(ซึ่งเล็กและธรรมดาจริง ๆ แล้วมันเป็นส่วนหนึ่งของชุดเครื่องมือที่จำเป็นสำหรับระบบ POSIX - เคอร์เนลไม่ได้คาดหวังbcแม้ว่าGNU )

bcจะใช้ที่นี่แทน Perl ข้อความคอมมิชชันแสดงให้เห็นว่าbcเคยใช้มาก่อน แต่ฉันไม่พบร่องรอยของสิ่งนั้น Perl ได้ถูกนำมาใช้ตั้งแต่ปี 2008 (มากถึงความผิดหวังของบางคนถึงแม้ว่าจะไม่มีการรวมชุดปะแก้)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.