ความเข้าใจผิด / ตำนานที่พบบ่อยคือint mainเป็นรูปแบบที่ถูกต้องเท่านั้นที่ระบุไว้ตามมาตรฐาน นั่นไม่เป็นความจริง
มาตรฐาน C พูดถึงการปรับใช้สองแบบ: โฮสต์และอิสระ "การใช้งาน" ในกรณีนี้หมายถึงคอมไพเลอร์ คอมไพเลอร์โฮสต์ที่คอมไพล์แล้วสำหรับระบบปฏิบัติการเฉพาะและคอมไพเลอร์อิสระอิสระสำหรับคอมไพล์แอปพลิเคชันโลหะเปลือย ระบบฝังตัวเป็นระบบอิสระเกือบทุกครั้ง - แม้ในกรณีของ RTOS
การใช้งานอิสระอาจใช้รูปแบบใด ๆ สำหรับmain()พวกเขาไม่จำเป็นต้องมีฟังก์ชั่นที่เรียกว่าหลัก บ่อยครั้งที่พวกเขาใช้แบบฟอร์มvoid main (void)เนื่องจากมันไม่สมเหตุสมผลที่จะคืนสิ่งใด
สิ่งสำคัญที่ต้องตระหนักคือที่นี่เป็นคอมไพเลอร์ที่ตัดสินใจรูปแบบmain()และไม่เคยเป็นโปรแกรมเมอร์
การใช้งานอิสระที่จะทำบางสิ่งบางอย่างกลับมาจากการmain()มีปัญหามาก ทำให้คุณสงสัยว่าคนที่สร้างคอมไพเลอร์อ่านมาตรฐานหรือไม่ ...
รายละเอียดที่นี่