我一直有这样的想法,不知道那些是对的,那些是错的,请大家指正。
1、我对于程序的运行是这么理解的(window下):
首先是纯文本的代码,接着是编译器的词法分析,接着是语法分析,接着每种编译器按照Windows下程序的规则把分析好的东西翻译成汇编语言(我一直认为汇编语言是机器码的一种更流利美观的表现)。
这其中又分为变量的分配,函数入口指针的分配等等,总之很多,我知道的还很少。
我还这么想:C语言最后经过编译都生成汇编语言去执行,所以由C语言写成的操作系统最后也是要变成汇编语言去执行。
对于API函数,我一直认为是微软的工程师用C封装的砖头,然后再由API函数组成了操作系统。VC也好,Delphi也好,最后在编译的时候都分成几块:要么是变量的管理,要么是把操作系统的函数转化为API执行,等等
也就是说,Windows操作系统是由API写成的
2、对于.net,最后也是翻译成API,然后再到汇编,再执行,那些类库里的函数最后也翻译成API执行,.net做的是更好的安全性,因为他对于程序开发管的严格了,谨慎了。我知道我的想法肯定是不对的,所以别笑话我,但是我想,我愿意去听取大家的说法,请大家讨论一下,谢谢。
1、我对于程序的运行是这么理解的(window下):
首先是纯文本的代码,接着是编译器的词法分析,接着是语法分析,接着每种编译器按照Windows下程序的规则把分析好的东西翻译成汇编语言(我一直认为汇编语言是机器码的一种更流利美观的表现)。
这其中又分为变量的分配,函数入口指针的分配等等,总之很多,我知道的还很少。
我还这么想:C语言最后经过编译都生成汇编语言去执行,所以由C语言写成的操作系统最后也是要变成汇编语言去执行。
对于API函数,我一直认为是微软的工程师用C封装的砖头,然后再由API函数组成了操作系统。VC也好,Delphi也好,最后在编译的时候都分成几块:要么是变量的管理,要么是把操作系统的函数转化为API执行,等等
也就是说,Windows操作系统是由API写成的
2、对于.net,最后也是翻译成API,然后再到汇编,再执行,那些类库里的函数最后也翻译成API执行,.net做的是更好的安全性,因为他对于程序开发管的严格了,谨慎了。我知道我的想法肯定是不对的,所以别笑话我,但是我想,我愿意去听取大家的说法,请大家讨论一下,谢谢。
解决方案 »
- 求一个手机吉祥号码筛选的方法
- 50分送上 有没有好的C##屏幕截图源代码及程序 或者给个链接地址好吗
- c#异步操作的问题
- Remoting 激活對象的代碼的位置
- treeview 如何设置默认情况下子节点是隐藏的.+
- C#怎么把字符串传给C++?
- C# CrossThreadMessagingException TextBox引发
- 应用程序之前的通讯
- C# CreateWindowEx创建按钮事件
- 请问ABCDEF等键同时按,这样的功能不能实现,Keydown的e.KeyCode好像只能捕到一个键,另外,会不会有多键冲突的问题
- 谁来解释一下,dropdownlist的问题
- 顶着有分!100分求解:怎么设置Infragistics.Win.UltraWinTree.UltraTree 中的node的checkbox为已选择。。
再由JIT转成机器语言吧。呵呵……迷糊
是一个供.net 环境使用的中间代码
具体的你可以参考下MSDN
运行时由CLR转为本机代码运行,是真正的机器码,没有汇编这一过程。有文章说就因为Java的东东始终都是在它的虚拟机上执行,但.Net的最终是本机执行的,所以比Java快。