我从我的同事那里了解到,可以编写和执行一个 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
什么时候需要做这种事?在现实世界中,这种方法是否有用?