2010-10-05 48 views
-2

可能重复:
C program without main function ?程序没有main()的

我们可以写不main()一个C程序可以运行和执行?

请回复...

+2

为什么人们对此很好奇?除“不可能”之外,还有什么可能的价值?或者它是纯粹的哲学思想练习?没有任何意图,我真的很惊讶这个问题不止一次出现。 – tenfour 2010-10-05 13:48:52

+0

这是可能的,但它对操作系统,一些标准库的东西(如果你喜欢使用诸如'FILE * stdin'等几件事情)非常具体,甚至可能是处理器特定的。许多其他编译的编程语言使用C的前主代码,所以有'main',但不是全部。它们不与crt * .o(或类似的)之一链接,但需要它们自己的启动代码。 – nategoose 2010-10-05 14:34:45

回答

0

不,你不能。您可以编写将从另一个程序使用的库。但是,一切都必须有一个开始,'main'是C程序的开始......

(在Windows上,Win32 API指定了一个WinMain,但它是相同的东西,具有不同的名称。)

+3

这只适用于托管实现;独立实现可以使用除“main”之外的入口点。见5.1.2.1第1段。 – 2010-10-05 13:47:37

0

不,如果没有主要的方法,链接器将不知道程序中的数据段开始的位置。

相关问题