免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2182 | 回复: 7
打印 上一主题 下一主题

不理解c代码被映射转换成机器码这一过程的底层机制 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-01-11 10:11 |只看该作者 |倒序浏览
哪为大虾能指点我吗?(不理解c代码被映射转换成机器码这一过程的底层机制)

感觉应该是c 程序中的c 函数代码经过编译被转换成机器语言的“指令序列”

如果我想彻底了解并且实现这一过程,我必须进行哪些学习?

另外我还想知道怎样实现通过抽象在机器码上运行操作系统的。

如果您能够帮帮我这个菜鸟,那真万分感谢了!

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2004-01-11 10:15 |只看该作者

不理解c代码被映射转换成机器码这一过程的底层机制

那你看《编译原理》吧。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
3 [报告]
发表于 2004-01-11 14:44 |只看该作者

不理解c代码被映射转换成机器码这一过程的底层机制

看编译原理,然后去了解C的编译器。linux下有很多开放源代码的编译器,研究一下会很有帮助。

论坛徽章:
0
4 [报告]
发表于 2004-01-15 15:15 |只看该作者

不理解c代码被映射转换成机器码这一过程的底层机制

现在我搞定了:从机器语言到完成高级语言的转换经过了一系列的抽象,用白话讲就是在机器语言的基础上建立更接近人们方便使用计算机的虚拟机(一层不行就来2层),通常我们见到的使用界面已经经过至少5-7层的虚拟化过程。通常编译器其实是在距离最底层还有4层的地方。通过对这个问题的学习,我的最大收获是还得补补计算机体系结构的知识,顺便搞清楚了一些积累好长时间的疑惑。要实现虚拟机,主要途径是将高层的指令翻译和解释成低层次语言的序列。

机器-》寄存器的数据处理层(传输8位,16位,32位数据)-》机器语言基本指令层(处理数据)-》组合逻辑控制器[微程序]层(负责数据从何处来,到何处去的问题)-》简单操作系统功能层-》汇编语言层-》等等......

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
5 [报告]
发表于 2004-01-15 15:21 |只看该作者

不理解c代码被映射转换成机器码这一过程的底层机制

[quote]原帖由 "chievas"]现在我搞定了:从机器语言到完成高级语言的转换经过了一系列的抽象,用白话讲就是在机器语言的基础上建立更接近人们方便使用计算机的虚拟机(一层不行就来2层),通常我们见到的使用界面已经经过至少5-7层的虚拟化过..........[/quote 发表:


有些道理,高级语言到CPU能够执行的指令之间,就是一层层的封装。

目的很简单,为了方便使用计算机。

论坛徽章:
0
6 [报告]
发表于 2004-01-15 15:59 |只看该作者

不理解c代码被映射转换成机器码这一过程的底层机制

楼上说的《编译原理》是谁写的,我在网上查了一下发现很多同名的书,请帮忙推荐一下。
江湖人士 该用户已被删除
7 [报告]
发表于 2004-01-15 16:42 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
8 [报告]
发表于 2004-01-15 17:46 |只看该作者

不理解c代码被映射转换成机器码这一过程的底层机制

你也可以参考<<深入JAVA虚拟机>;>;
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP