当前位置:首页 » 编程软件 » 编译器代码量对比

编译器代码量对比

发布时间: 2022-07-05 02:12:51

A. 主流C51单片机编译器比对

int short 的大小是因机器而异嘛(准确点应该是编译器)。你都说了人家规定的是“最小”为16位,又不是只能是16位,也没有说两者应该相等(事实上是short不超过int就OK啦)。所以当然可以short类型为半个机器字长,而int类型则为一个机器字长的啦。

“C++标准规定了每个算术类型的最小存储空间,但他并不自知编译器使用更大的存储空间 ”

说简单点就是C++规定了个最小的值,但是将你的代码编译成机器码的编译器则确定了你这个长度值为多少。因为C++是一种语言,一个规范,或者说只是一种规定,然后要将你按这种规范写的代码编译成能在机器上运行的代码的是编译器。而在不同的机器上运行的程序的实际结构是不一样的,比如单片机与PC相差就很大。要将按相同规范写的程序在各种各样乱七八糟的机器上运行,就需要相应的编译器了。所以实际的大小是由你编译代码的编译器确定的。

PS:当然当前一般的PC上int都是32位,short16位的。因为现在32位的机子是主流嘛。如果你不写什么单片机的程序可以不用太在意这个问题。但是写单片机程序时就要注意了,因为一般一个单片机的编译器可以编译很多种型号芯片的代码,而这些型号有可能从8位到32位都有……

B. 如何通过STVD编译器看自己的代码量

1. 将附件压缩包中的mapinfo.exe解压并解压到stvd的\安装路径\STMicroelectronics\st_toolset\stvd中

2. 用stvd打开你的工程文件,在工程上点右键选settings...

3. 右侧的选项卡选择Linker,将category的下拉框选成output,然后在Generate Map file前打勾

4. 再将选项卡上选择到Post-Build,在下方文本框中新粘贴一行内容 mapinfo $(OutputPath)$(TargetSName).map

5. 点OK按键确定,菜单File->save workspace,保存工程

6. 重新编译下,你就能看到flash,ram,eeprom占用字节数了

C. delphi编译器效率高到底是指什么

所谓delphi编译器效率高,一般指的是以下三方面:

1、编译连接时间短,这一点是其他任何编译器都无法相比的(一般来说,VC, VB编译过程所用的时间是Delphi的几倍),原因很简单:Pascal语法限制严格,用户必须规范地编码,省去了编译器的很多麻烦。

2、编译出的程序执行速度快,产生的代码长度短。这一点比VB强,但和VC基本一样,谁也没有优势。不过很多人有误解,以为Delphi类库庞大复杂,加一个控件就要把整个一个源文件全部加进来,代码长度太大,效率太差。其实真实情况是,拥有众多VCL控件类库,是Delphi的一个独特之处,VC的MFC库无法与之相比——MFC有的底层简单封装的类,VCL库都有,但VCL有的上层组件,MFC却根本没有。使用VCL上层应用控件后,代码长度的确比VC大,不过VC却没有这方面的选择,而VC所用的从底层一砖一瓦地编码的方式,Delphi完全支持,而且绝对没任何劣势,代码长度也不长(VC的语法复杂,按C程序员一般习惯做的话,代码长的反而会是VC)。产生误解的原因,是多数Delphi程序员是应用级的,而VC程序员是底层些的,应用程序员大多不太懂得底层代码的编写,只会搬控件、响应事件,以为底层的东西Delphi做不来。

3、对应用级的程序开发周期短——这也就是Borland一贯吹捧的“快速开发工具”的含义。正因为VCL的存在(封装了很多界面组件以及通讯、数据库、internet应用等很多后台功能),对高层应用不再需要一砖一瓦地受累,使开发周期缩短了很多倍。

单纯从技术角度说,编译器效率应该指编译出的代码是否短小/运行速度是否快,以及是否能用较少的源代码高效地实现复杂功能。前一方面Delphi并不比VC差,而比VB强,但并非一骑绝尘;后一方面则的确有一骑绝尘之象。

Delphi的致命缺点,其实不是技术——技术它是领先的,毫无疑问,问题是市场策略和公司实力(Borland只是家小公司),微软“携操作系统以令诸侯”,误导了众多软件开发公司,让它们以为微软的才正宗和好用,造成了事实上的VB,VC用户群远比Borland的庞大,源代码数量也一样是C/C++远远占优,而Borland的C++ Builder却开发得太晚难以形成市场优势。

概括来说,如果你要开发上层应用为主的程序,特别是数据库方面的程序,那么Delphi能让你省不少时间;而若开发底层些的软件,为能有更多相关代码可以参考利用,为能容易地招聘到更合适的程序员,以及为了代码维护方便,都适合用C/C++去做,当然,C++ Builder从技术上说是个不错的选择,只是用户群还太小。

D. 同样一个程序 用什么编程语言代码量最小

其实现在越高级的语言,代码量都很小(如c#等)
假如你只要在32位控制台上运行,那么像脚本语言是你的不二选择(如perl,Python等)

E. 用keil for arm带的编译器编译出来的程序文件和arm gun gcc相比,代码质量(密度和效率)有什么差别

keil优化质量高,优化后flash消耗比GCC要少。由于优化质量高,运行起来也要更快一些。

F. c++编程方式编写的程序源代码,为什么编译后的代码量较大,运行的速度略低

c语言是国际上广泛流行的、很有发展前途的计算机高级语言。它适合作为系统描述语言,即可用来编写系统软件,也可用来编写应用软件。正如楼上的说是一个经典。
一般情况下,c++编程方式编写的程序源代码量小,但编译后的代码量较大,运行的速度略低,不过开发时的工作量和工作难度较小;而c编程方式编写的源代码量较大,但可执行的效率高.如果一些对速度要求高,尤其是对硬件操作较多的程序,大多数还是用c编程方式开发的(用C又比用汇编简单,易于实现).另外,学Win32 C程序设计还有助于更深入地了解Windows 的内幕和Win32 API。
C语言是比较接近机器语言,它又比汇编语言更容易理解和掌握,也是比较底层的语言,正由于这些它的运行速度很快,比java,C++,VB等有更高的效率.C尤其在通信方面的作用很大,比如你想进腾讯,华为等这样大的,在通讯信息方面的公司,学C无疑是最好的,当然不是说JAVA,C++不如C好,应该各有各的长处,总之学C语言是不会过时的。当然在其他方面的 应用也很强。

G. 超赞,编译器和解释器的异同,瞬间明白了

编译器和解释器的最大不同就是:以 WINDOWS 系统为例进行讲解就是:编译器是可以把用户编写的源程序(例如:C 语言源程序)经过编译、链接产生成一个在 WINDOWS 系统下面可独立运行的二进制代码(以 *.exe 为后缀的);而解释器则必须在高级语言的解释环境中才能够运行用户编写的源程序,一旦退出了解释器,那么用户编写的源程序将无法执行。例如:以前的 BASIC 语言就是解释执行、而不是编译执行的。即:在 BASIC 解释环境中,可以执行用户编写的以 *.BAS 为后缀的源程序,但是一旦退出了 BASIC 解释器,那么用户编写的 *.BAS 源程序就无法执行了。

H. 同样需要编译器为什么汇编语言比较快

绝大多数情况下,并不是。

事实上除了对CPU工作模式极端熟悉的人,一般人是很难用汇编写出更高效的代码的。
编译器虽然智商比不了人,但是它更精通优化。生成高效的代码需要透彻地掌握硬件的工作模式,每个细节都要考虑清楚。而且这很大程度上是软件更擅长但人并不擅长的繁重无脑又要求极高精确性的机械化工作。

当然专业搞优化的人还是能打败编译器的,因为编译器能做到的人终究还是可以做到。而人要比编译器聪明得多。编译器只能遵循一些规定好的模式进行优化,人可以创造编译器根本不知道的优化方法。某些逻辑靠编译器是没办法生成出来的,只能由人直接用汇编写。汇编语言虽然也要编译,但是一般会和机器指令直接对应,相当于要求CPU在细节上严格按人的思路工作,而高级语言并不能控制太多细节。

I. 但编译完不见少,还有可能会更大呢。

你要说什么问题?
我理解的:你是要问为什么源文件很小,编译完了反而比源文件还大,是这个意思吗?
因为编译器在编译程序的时候,不仅仅编译你所书写的代码,他还要将一些库文件链接到你的程序里,这些部分是为启动和适应系统用的,所以当你的程序代码量很小时,反而执行文件会比较大。

J. c与c++的比较

有一些吧,但是要看什么情况了,如果要是都是一些小程序,其实没有多大的差别,但是如果你加入类,虚函数等c++中的特性之后,那编译运行速度肯定就慢了,这也是没办法的事,因为c++是面向对象的语言,不过效率不会影响太多,差不多就是因为c++兼容c,所以用c++的编译器编译也可以编译c语言,你要追求效率,那就用汇编呗,c++主要是用来写大型程序,如果用c写大型程序,能把人累死,而且代码量很大,同样用c++写,就能减少很多代码,这样运行起来效率其实差不了多少,c++大约是c的%90,而java则是c++的%50,c++和c都是很优秀的,其实真正的差别在于Coder的水平。就像作者的水平之差一样。c/c++都很优秀,认真学一下吧。不要在语言比较方面花费太多的口水。谁在乎剑圣用什么剑?

热点内容
雷神g50如何设置安卓原生模式 发布:2024-05-19 16:50:04 浏览:120
c语言小数四舍五入 发布:2024-05-19 16:23:28 浏览:525
数据库被注入攻击 发布:2024-05-19 16:21:31 浏览:835
微信忘记密码从哪里看 发布:2024-05-19 16:06:37 浏览:33
宝马x4贷款买哪个配置好 发布:2024-05-19 15:56:03 浏览:23
微控pid算法 发布:2024-05-19 15:46:31 浏览:136
云盘视频解压密码 发布:2024-05-19 15:23:17 浏览:848
和平精英怎么改地区位置安卓 发布:2024-05-19 15:19:05 浏览:286
酒店的路由器如何配置 发布:2024-05-19 15:10:44 浏览:502
rpgmaker脚本 发布:2024-05-19 14:48:58 浏览:409