百科问答小站 logo
百科问答小站 font logo



相比较 C++ 程序以 main 函数为入口,其他语言如 Java、AS3 等,程序的入口是怎样的? 第1页

  

user avatar   Ivony 网友的相关建议: 
      

这是个好问题,但是这个问题恐怕比你想的水深得多。

C++程序以main函数为入口这个说法严格来说并不正确。



我这里不展开,只简单的谈谈。

要解决这个问题,我们先要看所谓的入口是什么意思,到底有什么用处。

一个程序需要怎么运行呢?在Windows上就是编译成一个exe文件,然后双击,Windows就会帮你运行这个文件。Windows怎么知道怎么去运行这个文件?这么一大堆代码应该从哪里开始执行?就需要这个文件提供一个所谓的入口,操作系统(或者说启动器)从这个入口开始执行程序。


在这个例子里面,Windows就是这个程序的宿主/启动器,这个宿主/启动器要求程序需要一个入口也就是main函数。


所以,所谓的入口,是和宿主(Host)/启动器(Launcher)有关系的,对于Web服务应用,他的宿主是什么呢?.NET的话一般是ASP.NETASP.NET的宿主是IIS。宿主不同,对入口的要求也就不同。因为.NET的宿主是ASP.NETASP.NET不要求程序有一个所谓的入口函数,所以ASP.NET应用也就没有main函数。



事实上Java和C#的控制台应用程序也是有Main函数的,但是这里历史原因更多,利用函数签名来查找入口的做法并不是最好的。




  

相关话题

  面向对象编程的下一阶段是什么? 
  专攻哪门编程语言好? 
  为什么编程语言语法的设计不往缩小与自然语言的差别的方向发展,或者说在这个方向发展得这么慢呢? 
  为什么不少程序员认为Matlab的语言设计不优雅甚至比较丑?能否举出一些例子来说明? 
  C 语言这些宏定义前面的 __extension__ 是什么意思? 
  如何设计一个以计算机技术人员为原型的奇幻世界的职业? 
  我听说以前的系统没有图形界面,那他们是用 C# 等语言直接敲代码吗? 
  上网时,为什么感觉现代人除了我全都很懂编程或计算机? 
  搜索引擎是怎么知道「羣」是「群」的? 
  为什么上古编程语言(比如 COBOL)总喜欢把代码全部写成大写字母? 

前一个讨论
面试提问2的10次方是多少是否合适?
下一个讨论
如何看待人民日报的文章《掀开西方“普世价值”的面纱》?





© 2025-06-18 - tinynew.org. All Rights Reserved.
© 2025-06-18 - tinynew.org. 保留所有权利