是否可以避免 C 程序中的入口点(主)。在下面的代码中,是否可以调用func()
无需通过以下方式拨打电话main()
在下面的程序中?如果是,如何做、何时需要以及为什么给出这样的规定?
int func(void)
{
printf("This is func \n");
return 0;
}
int main(void)
{
printf("This is main \n");
return 0;
}
如果您使用 gcc,我发现一个线程说您可以使用-e命令行参数 http://gcc.gnu.org/ml/gcc/2001-06/msg01959.html指定不同的入口点;所以你可以使用func
作为你的入口点,这将离开main
unused.
请注意,这实际上并不让您调用另一个例程而不是main
。相反,它允许您调用另一个例程而不是_start
,这是 libc 启动例程——它做了一些设置,然后it calls main
。因此,如果这样做,您将丢失运行时库中内置的一些初始化代码,其中可能包括解析命令行参数之类的内容。使用此参数之前请先阅读该参数。
如果您使用其他编译器,则可能有也可能没有参数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)