如何在没有 main() 的情况下编写正在运行的 C 代码?

在这里我们将看到,一个程序可以不写main 还是不写?答案是肯定的。我们可以编写没有main()功能的程序。

在很多地方,我们已经看到main()是程序执行的入口点。仅从程序员的角度来看,这是正确的。从系统的角度来看,这是不正确的。所以系统首先调用_start(),这设置了环境,然后调用了main。

要执行这个程序,我们必须使用这个选项'-nostartfiles'。

示例

#include <stdio.h>
extern void _exit(register int);
int _start() {
   printf("Program without main\n");
      _exit(0);
}
输出结果
soumyadeep@soumyadeep-VirtualBox:~/Cpp_progs$ gcc test_prog.c -nostartfiles
soumyadeep@soumyadeep-VirtualBox:~/Cpp_progs$ ./a.out
Program without main
soumyadeep@soumyadeep-VirtualBox:~/Cpp_progs$