Saya belajar dari rekan saya bahwa seseorang dapat menulis dan menjalankan program C tanpa menulis main()fungsi. Itu bisa dilakukan seperti ini:
my_main.c
/* Compile this with gcc -nostartfiles */
#include <stdlib.h>
void _start() {
int ret = my_main();
exit(ret);
}
int my_main() {
puts("This is a program without a main() function!");
return 0;
}
Kompilasikan dengan perintah ini:
gcc -o my_main my_main.c –nostartfiles
Jalankan dengan perintah ini:
./my_main
Kapan seseorang perlu melakukan hal semacam ini? Apakah ada skenario dunia nyata di mana ini akan berguna?
_start()dan hal-hal lain di luarnya main().
_start, atau tentang titik masuk apa pun selain main(kecuali bahwa nama titik masuk adalah implementasi yang ditentukan untuk implementasi berdiri bebas (tertanam)).
