Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

จะเขียนโค้ด C ที่รันอยู่โดยไม่มี main() ได้อย่างไร


ที่นี้เราจะมาดูกันว่าโปรแกรมหนึ่งเขียนได้ไม่มี main หรือเปล่า? คำตอบคือใช่ เราสามารถเขียนโปรแกรมที่ไม่มีฟังก์ชั่น main() ได้

ในหลาย ๆ ที่ เราเห็นว่า main() เป็นจุดเริ่มต้นของการดำเนินการของโปรแกรม จากมุมมองของโปรแกรมเมอร์ นี่เป็นเรื่องจริง จากมุมมองของระบบ มันไม่เป็นความจริง ดังนั้นระบบในตอนแรกเรียก _start() ซึ่งเป็นการตั้งค่าสภาพแวดล้อม จากนั้นจึงเรียก main

ในการรันโปรแกรมนี้ เราต้องใช้ตัวเลือกนี้ '-nostartfiles'

ตัวอย่าง

#include extern 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