不同cpu对代码编译
Ⅰ 同一串代码用amd的cpu编译会出现bug吗
1、如果是基于软件的bug则与CPU无关;
2、如果是针对X86 CPU架构BUG而设计的代码,则有可能在Intel平台出现,但是对AMD无效。
Ⅱ 是不是每种处理器都要开发自己的编译器,比如inter的cpu,arm,51单片机等
你好!
主要是依据处理器设计的指令系统来决定的。不同的处理器如果指令系统一致就可共用同一编译器,否则就要开发自己的编译器,它的主要作用是将开发人员编写的高级语言代码转换为处理器能够识别并运行的二进制指令(指令系统已定义的)。
打字不易,采纳哦!
Ⅲ 汇编程序在不同的cpu运行是否有差异
基本没有问题,除非你用了Intel或者AMD的专用指令。目前得到常见编译器支持的指令基本上就是的Intel和AMD中一致的那部分。
Ⅳ C语言代码编译成的是机器码,那么怎么实现可移植性呢
C语言代码编译成的是机器码,通常不能在不同指令系统的机器上运行。
我遇到过同样的机器,同样的机器码,同样的操作系统,也就是原来在本机编好的若干程序,突然运行不了了(出错),必须重新编译后才能运行。因为微软动态链接库里的子程序号码“更新”了。
如果编译成半成品机器码,或者类似obj,到运行的机器上再由附加的解释器解释(或编译器链接),则可以运行。这就是所谓的“跨平台”“移植”“嵌入”。
Ⅳ 电脑:不同的机器,指令不同,为什么程序能在不同的机器间(cpu不同,是吗)运行,
你理解得不对,不同的机器,如果采用的指令集不同,程序绝对不能兼容(连操作系统本身都要修改,更不用说依赖其运行的程序)。我们一般接触的不同性能的CPU,其实指令集是一样的。即使是指令集相同,如果操作系统不同,程序仍然不能兼容。必须在想要兼容的操作系统环境中(仿真环境下也可)重新编译源代码,生成对应操作系统的程序版本才行。
如果是编译型的程序,也就是脚本类的,它在不同(操作)系统之间的兼容,其实是通过实时编译实现的。
Ⅵ 编译器是和cpu匹配的吗不同的cpu使用不同的编译器吗
不仅和cpu匹配,还和操作系统匹配,但cpu之间有一定兼容性,比如x86-win的程序一般都能在x64-win上跑
Ⅶ CPU在不同编译器下性能差多少
看对编译器的优化效果 一般3%-15%
Ⅷ 是不是每种处理器都要开发自己的编译器,比如inter的cpu,arm,51单片机等
每个处理器厂家都会开发本身的编译器。这是硬体设计与系统工程师的工作。软件编辑员一般都不需染手此东西。是否每个牌子的处理器都须有自己的编译器呢?未必。
比如Intel,AMD,VIA 同是用x86平台都可享用Intel的编译器。
又如Siemens, SGI,NEC 同出产MIPS平台的处理器都可享用MIPS 的编译器。
但有些特别指令如INTEL的MMX,SSE1,2,3,4;AMD的3DNOW,AMD64 等就有劳个产家编写。
如没有特别指令编译器, 软件会出错吗?很多高档程序编辑软体都会翻译及处理,用标准指令来取代特别指令(应该说不用特别指令),当然执行速度会慢过特别指令。