免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: junenggai

高手必看:程序出了main()入口外还有其它的吗 [复制链接]

论坛徽章:
0
发表于 2006-04-05 14:31 |显示全部楼层
原帖由 net_robber 于 2006-4-5 14:23 发表
不是任何一条指令扔给CPU,CPU都会无条件执行么???那么,能不能认为,把程序的第一条指令送给CPU的那一点是程序的真正入口呢?????

>>不是任何一条指令扔给CPU,CPU都会无条件执行么??
当然不是。

论坛徽章:
0
发表于 2006-04-05 14:38 |显示全部楼层
原帖由 albcamus 于 2006-4-5 14:30 发表


大家别争吵, 只争论, 呵呵, 都友好一点嘛!

我觉得如果这么定义“入口”, 那么你说的crt0.o就不是入口, 而是loader, 在linux下, 即:/lib/ld-linux.so.2, 它才是OS从execve返回到用户态开始执行 ...



这个没问题,我也这么觉得。
但我还是不想“觉得”开电源是程序的入口。

论坛徽章:
0
发表于 2006-04-05 14:42 |显示全部楼层
原帖由 albcamus 于 2006-4-5 14:31 发表

>>不是任何一条指令扔给CPU,CPU都会无条件执行么??
当然不是。


那是什么情况呢???能稍微说的详细点么??想知道,呵呵

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2006-04-05 14:44 |显示全部楼层
原帖由 0521 于 2006-4-5 14:38 发表



这个没问题,我也这么觉得。
但我还是不想“觉得”开电源是程序的入口。

兄弟,看来我又不小心惹了你了。
可是我前面已经说过了,是 loader,呵呵。
谢谢你支持我的观点!

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2006-04-05 14:48 |显示全部楼层
原帖由 net_robber 于 2006-4-5 14:42 发表


那是什么情况呢???能稍微说的详细点么??想知道,呵呵

现代 CPU 都支持特权级的概念,当然了,叫法可能不同,ARM 下就不这么叫,叫模式。

不同的模式下,可用的指令集不同,所以不是任何一条指令都可以随便执行的。

论坛徽章:
0
发表于 2006-04-05 14:56 |显示全部楼层
原来是这样啊,呵呵,谢谢了

论坛徽章:
0
发表于 2006-04-05 15:06 |显示全部楼层
长知识

不过前面有几贴的意思我没看明白是争论还是吵架

所以要说loader是入口我个人感觉怪怪的

那些都是OS在执行一个用户程序前的例行公事吧?能算入口不

感觉所说程序入口是指用户所编写的程序到底从哪里开始执行,为程序入口这样是否更合理些?

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2006-04-05 15:09 |显示全部楼层
原帖由 艾斯尼勒 于 2006-4-5 15:06 发表
长知识

不过前面有几贴的意思我没看明白是争论还是吵架

所以要说loader是入口我个人感觉怪怪的

那些都是OS在执行一个用户程序前的例行公事吧?能算入口不

感觉所说程序入口是指用户所编写的程序到底从 ...

正是!
C 的代码是从 main 开始的,
C++ 的是从全局变量的构造函数开始的。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2006-04-05 15:53 |显示全部楼层
原帖由 flw 于 2006-4-5 15:09 发表

正是!
C 的代码是从 main 开始的,
C++ 的是从全局变量的构造函数开始的。


没看懂!

论坛徽章:
0
发表于 2006-04-05 17:03 |显示全部楼层
loader 是计算机启动的入口
说得再根本一点是bios
0x0000 开始的吧
main()是一般的应用程序的入口
这个入口名字在编译器中是可以修改的

个人理解
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP