6
พลังการคำนวณสูงสุดของการนำ C ไปใช้งาน
ถ้าเราไปตามหนังสือ (หรือรุ่นอื่น ๆ ของข้อกำหนดภาษาถ้าคุณต้องการ), การใช้พลังงาน C สามารถมีเท่าไหร่? โปรดทราบว่า“ การติดตั้ง C” มีความหมายทางเทคนิค: มันเป็นอินสแตนซ์เฉพาะของสเปคภาษาการเขียนโปรแกรม C ที่มีการบันทึกพฤติกรรมการใช้งานที่กำหนดไว้ การติดตั้ง AC ไม่จำเป็นต้องสามารถทำงานบนคอมพิวเตอร์จริงได้ มันต้องใช้ภาษาทั้งหมดรวมถึงวัตถุทุกชิ้นที่มีการแทนค่าบิตสตริงและประเภทที่มีขนาดที่กำหนดการนำไปใช้ สำหรับวัตถุประสงค์ของคำถามนี้ไม่มีที่เก็บข้อมูลภายนอก อินพุต / เอาต์พุตเดียวที่คุณสามารถทำได้คือgetchar(เพื่ออ่านอินพุตโปรแกรม) และputchar(เพื่อเขียนเอาต์พุตของโปรแกรม) นอกจากนี้ยังมีโปรแกรมใด ๆ ที่จะเรียกไม่ได้กำหนดพฤติกรรมที่ไม่ถูกต้อง: โปรแกรมที่ถูกต้องจะต้องมีพฤติกรรมที่กำหนดโดยสเปค C บวกรายละเอียดการดำเนินงานของพฤติกรรมการดำเนินงานที่กำหนดไว้ในภาคผนวก J (สำหรับ C99) โปรดทราบว่าการเรียกฟังก์ชั่นห้องสมุดที่ไม่ได้กล่าวถึงในมาตรฐานเป็นพฤติกรรมที่ไม่ได้กำหนด ปฏิกิริยาเริ่มต้นของฉันคือการใช้งาน C ไม่มีอะไรมากไปกว่าระบบ จำกัด อัตโนมัติเนื่องจากมันมีข้อ จำกัด เกี่ยวกับจำนวนหน่วยความจำที่กำหนดแอดเดรสได้ (คุณไม่สามารถจัดการกับหน่วยความจำได้มากกว่าsizeof(char*) * CHAR_BITบิตเนื่องจากหน่วยความจำที่แตกต่างกัน ในตัวชี้ไบต์) อย่างไรก็ตามฉันคิดว่าการใช้งานสามารถทำได้มากกว่านี้ เท่าที่ฉันสามารถบอกได้มาตรฐานไม่มีข้อ จำกัด เกี่ยวกับความลึกของการเรียกซ้ำ ดังนั้นคุณสามารถเรียกใช้ฟังก์ชันเรียกซ้ำได้มากเท่าที่คุณต้องการเฉพาะการโทรจำนวน จำกัด …