导航:首页 > 源码编译 > 编译不同处理器

编译不同处理器

发布时间:2022-12-11 10:56:38

A. 学c语言用电脑编程,或运行相关编译器等软件,所用电脑必须用intel的处理器吗

ss。一般ASP搭配Access,PHP搭配MySql。
PHP是比较古老的语言了,ASP也是五六年前很流行的,这两年比较流行的是Java和Asp.net,不过学Java比较多人要,Asp.net开发起来会相对简单一点,但现在Java也封装得很好,有利于开发。关于学什么,就自己兴趣所在了。
我也是计算机专业的,虽然觉得不怎样,但总算有过这几年经验。关于如何学一门语言,我认为,不要只看书,要看书然后动手,最好自己找个项目来做,做项目需要什么,就看什么,边学边做,这样一来有兴趣,二来可以学到东西。但是若一点都不懂的话项目也是做不下去的,所以呢,最好找两本好一点的书,先浏览性过一遍,然后再相对较详细的看一遍,这样起码对这门知识有点了解,以后做的时候找相应的知识也容易一点。
最后回答你的第一个和第二个问题:1.那些不用记下来,要看懂,要知道结构,比如If...else;for,while之类的,知道那些是表达什么样的结构。这些东西,边用边学慢慢就全知道了,背下来一点用都没有。
2.不一样的概念。这里的函数只是把一些经常用到的语句写在一起,方便调用。这些慢慢体会。
个人经验,回答完毕。

B. c++中的编译器和预处理器有何不同

元代码中,包含了两个部分的内容,
一个是对机器有用的东西,
一个是对人有用的东西,比如
注释。
预处理器就是
在编译之前,把代码整理一下,把一些没用的东西,给处理掉。做好准备工作后,然后再编译。

C. 高级编程语言也要编译成汇编语言,不同的cpu汇编语言不一样,那会编译成那种汇编语言呢

高级语言一般最终不是编译成汇编语言而是机器语言,而像C#这类语言编译后为公共语言,不是机器码,运行时公共语言代码由NET框架负责进一步即时翻译即时执行为机器指令。只有C++这类语言编译后为CPU可以直接执行的机器码。


附图是VS2019中C++语言的一段调试时的反汇编窗口,其中白字是C++源代码,下面是对应的汇编码,汇编行左列为内存地址,中间是对应的机器指令和数据(内存中的实际值),右侧是对应的汇编码。

比如,定义整数变量a并赋值1的语句,被编译器编译成C7 45 F8 01 00 00 00 这样几个字节,其中C7为汇编码中的MOV指令,可以操作16位寄存器和内存以及立即数,45 F8 是当前命名空间中变量地址,即变量a的地址(F845),而01 00 00 00 为32位宽度的数值1(内存排列顺序是前低后高)。也就是说机器语言的指令格式为:指令代码,地址,数据,当然根据不同指令,有时候地址和数据是不需要的。而右侧 MOV dword ptr[a],1 是指令助记符,也就是汇编指令,而用汇编指令编写的程序也是需要编译成机器指令的。


指令C7对应的汇编码及含义

D. 是不是每种处理器都要开发自己的编译器,比如inter的cpu,arm,51单片机

每个处理器厂家都会开发本身的编译器。这是硬体设计与系统工程师的工作。软件编辑员一般都不需染手此东西。是否每个牌子的处理器都须有自己的编译器呢?未必。
比如Intel,AMD,VIA 同是用x86平台都可享用Intel的编译器。
又如Siemens, SGI,NEC 同出产MIPS平台的处理器都可享用MIPS 的编译器。
但有些特别指令如INTEL的MMX,SSE1,2,3,4;AMD的3DNOW,AMD64 等就有劳个产家编写。
如没有特别指令编译器, 软件会出错吗?很多高档程序编辑软体都会翻译及处理,用标准指令来取代特别指令(应该说不用特别指令),当然执行速度会慢过特别指令。

E. 编译器是和cpu匹配的吗不同的cpu使用不同的编译器吗

不仅和cpu匹配,还和操作系统匹配,但cpu之间有一定兼容性,比如x86-win的程序一般都能在x64-win上跑

F. 不同的CPU,汇编语言也不同

如果楼主只是针对一个系统(比如说微机系统)用汇编语言编程的话,其实基本不用考虑兼容性的问题
现在的CPU基本是INTEL的天下了,另外的一个能和INTEL较劲的CPU生产商AMD的CPU指令和INTEL也是基本兼容的,用汇编编程的时候注意一下就好了,那些不同CPU之间有出入的指令坚决不用,所以我说兼容性基本可以不用考虑
另外个人认为关于指令系统在以后必定会出现一个规范,以用于规范这些乱麻似的各种指令系统,就像IEEE,W3C等等.当然,也可能已经有了,这个我不太清楚

另外关于不同类型的CPU之间的源程序不能通用的问题个人认为有点像放屁.
拿单片机和微机的CPU举例,这两种CPU虽然都可以用C语言写,但其实它们的编译器是不一样的(这个我不太确定),更重要的是单片机和微机的硬件是完全不一样的,有时输入系统可能就是一个电键,所以你甚至不能输入一个字符.在这种情况下,你如果通过汇编来学习单片机,其实会更简单,也会学的更深刻

最后需要强调的是,汇编语言重要的不是指令,而是编程思想,技巧和对各种硬件的控制,在真正需要汇编的地方其实不需要太大的编码量(一般只在一些特别需要速度的地方嵌入汇编,其他地方还是用高级语言),所以就更不需要考虑兼容性了,反正就那么一点,大不了重写呗

最最后,我要说的是:
其实汇编不是用来写程序的 - -
现在的CPU越来越快了,各种硬件也越来越牛,所以很多时候已经不需要用汇编来优化了.再说了,如果一个游戏或程序因为没有优化而运行的不是很好的话,会刺激使用者去购买更高级的硬件,这样会刺激硬件制造商生产更牛的硬件,这个虽然会使电脑使用者倒霉,但对计算机的未来还是有好处的(这个是在罗云彬的书里看到的,intel和微软就是用的这种方式)
【汇编是用来更深刻地理解其他高级语言的】
高级语言的某些知识如果通过汇编来思考的话,会很容易理解,你甚至可以把汇编当成是理解高级语言的工具,而且这个工具非常的牛

===========================================================
好了,以上就是我的观点,可能会有一点偏激和若干错误,希望对楼主能有点用

G. 同一程序在不同处理器上CPI一样吗

关于这个问题,相同的CPU架构只是指程序运行的硬件是相同的,而软件(操作系统、操作系统下生成的程序)是不一样的,最后生成的针对硬件操作的机器语言也不一样。生成的程序最后都要汇编成机器语言才能被运行,而机器语言在同一种架构下都可以用.但不能运行在不同架构的平台下。

阅读全文

与编译不同处理器相关的资料

热点内容
dota2怎么设置国服服务器地址 浏览:212
单片机高电平驱动 浏览:115
ios多选文件夹 浏览:909
加强行车调度命令管理 浏览:243
服务器已禁用什么意思 浏览:150
部队命令回复 浏览:755
神奇宝贝服务器地图怎么设置 浏览:382
加密算法输出固定长度 浏览:862
程序员去重庆还是武汉 浏览:121
服务器如何撤销网页登录限制 浏览:980
微信公众平台php开发视频教程 浏览:628
怎么看苹果授权绑定的app 浏览:255
压缩机单级压缩比 浏览:380
linux测试php 浏览:971
什么时候梁旁边需要加密箍筋 浏览:40
微信清粉软件源码 浏览:717
matlabdoc命令 浏览:550
如何去ping服务器 浏览:75
ecshop安装php55 浏览:817
javaword库 浏览:958