exe为什么可以在不同机器上运行
2016-11-20 15:21
183 查看
1,很多资料都说,exe文件是二进制码(指令),是可以直接被机器执行的;
2,但是,所谓的二进制码(指令)不是因机而异的吗?不同的机器,使用的cpu是不一样的,指令集也不一样,那为什么在一台机器上生成的exe可以在别的不同指令集上的cpu上运行?
3,在我看来,这个所谓的指令,恐怕指的并不是对应硬件的指令,而是对应操作系统的指令吧!恐怕这些资料都在这一点上混淆了!
4,我的一个猜测是,生成的exe其实是由一系列windows操作系统指令组成的!
5,所以,exe文件所谓的可移植性完全是建立在操作系统的基础上的!一个exe文件永远不可能直接运行在linux系统的机器上!
2,但是,所谓的二进制码(指令)不是因机而异的吗?不同的机器,使用的cpu是不一样的,指令集也不一样,那为什么在一台机器上生成的exe可以在别的不同指令集上的cpu上运行?
3,在我看来,这个所谓的指令,恐怕指的并不是对应硬件的指令,而是对应操作系统的指令吧!恐怕这些资料都在这一点上混淆了!
4,我的一个猜测是,生成的exe其实是由一系列windows操作系统指令组成的!
5,所以,exe文件所谓的可移植性完全是建立在操作系统的基础上的!一个exe文件永远不可能直接运行在linux系统的机器上!
相关文章推荐
- VS2008 编译后在不同机器上运行 exe文件的问题
- 为什么VC中DEBUG版本可以正常运行的程序有时无法在RELEASE版本下正常运行(转)
- 创建线程后为什么关闭了线程句柄,线程还是可以运行?
- 我想知道这两种写法的不同,哪个是可以通过,为什么??
- 在xp,win7下程序运行时可以修改它的文件名,不知道为什么这样,估计要看一下内核相关的内容。
- 一段简单程序为什么在linux终端与win控制台下运行效果不同?(望高手指点)
- 编译好的Exe程序拷到没有安装BCB的机器上运行会提示找不到xx库之类的,解决方法:
- 为什么在机器上能运行,提交后却不能AC呢
- 为什么一个程序在vs2005中,按F5运行,和直接运行exe文件结果不一样
- VC2005做的EXE程序如何在没安装VS2005(FrameWork)的机器上运行?
- 相同用户在不同机器会出现可以Commit及无法Commit的现象,但都可以CheckOut!
- ociuldr在32位机器可以运行,但是在64位不能运行
- 用scanline取BMP上某点的颜色,代码如下,为什么可以编译,运行时却出错呢?
- jquery是有平台无关性的吧。为什么我在ie浏览器上可以运行,在火狐上运行不了呢?求帮助?有
- 创建线程后为什么关闭了线程句柄,线程还是可以运行?
- java程序如何可以在任何机器上双击运行
- 如何让你的java程序可以在任何机器上单击运行
- 用CMP访问数据库,简单的,但不理解为什么URL不修改仍然可以运行
- 为什么VC中DEBUG版本可以正常运行的程序有时无法在RELEASE版本下正常运行
- 编写的exe在别的机器上运行的时候总是报错 "找不到MSVCR100.dll 请重新安装",编译的机器上又不会报,这是怎么回事啊?是不是因为编译的机器上有特殊的配置?