我从我的同事那里了解到,一个人可以编写和执行一个C程序,而无需编写main()
个函数.可以这样做:
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;
}
使用以下命令编译它:
gcc -o my_main my_main.c –nostartfiles
使用以下命令运行它:
./my_main
什么时候需要做这种事?在现实世界中,这是否有用?