ที่นี้เราจะมาดูกันว่าโปรแกรมหนึ่งเขียนได้ไม่มี main หรือเปล่า? คำตอบคือใช่ เราสามารถเขียนโปรแกรมที่ไม่มีฟังก์ชั่น main() ได้
ในหลาย ๆ ที่ เราเห็นว่า main() เป็นจุดเริ่มต้นของการดำเนินการของโปรแกรม จากมุมมองของโปรแกรมเมอร์ นี่เป็นเรื่องจริง จากมุมมองของระบบ มันไม่เป็นความจริง ดังนั้นระบบในตอนแรกเรียก _start() ซึ่งเป็นการตั้งค่าสภาพแวดล้อม จากนั้นจึงเรียก main
ในการรันโปรแกรมนี้ เราต้องใช้ตัวเลือกนี้ '-nostartfiles'
ตัวอย่าง
#includeextern void _exit(register int);int _start() { printf("Program without main\n"); _exit(0);}
ผลลัพธ์
soumyadeep@soumyadeep-VirtualBox:~/Cpp_progs$ gcc test_prog.c -nostartfilessoumyadeep@soumyadeep-VirtualBox:~/Cpp_progs$ ./a.outProgram โดยไม่มี mainsoumyadeep@soumyadeep-Virtual_Box:$/Cppregs