主流C51单片机编译器比对

主流C51单片机编译器有哪些?各有什么特点及优势?

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

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

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

PS:当然当前一般的PC上int都是32位,short16位的。因为现在32位的机子是主流嘛。如果你不写什么单片机的程序可以不用太在意这个问题。但是写单片机程序时就要注意了,因为一般一个单片机的编译器可以编译很多种型号芯片的代码,而这些型号有可能从8位到32位都有……
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-04-11
51单片机用的最多的就是keil C51编译器,比较通用。什么51都可以,只要到其厂商的官方网站上面下个相应的驱动程序就可以了本回答被网友采纳
第2个回答  2020-05-21
主要是keil和iar。
keil是大众化的,用的人多。
iar专业,代码效率高,用的人就不是那么多了。
第3个回答  2013-09-16
汇编的没有几种,没什么品牌,因为汇编转成可执行代码没什么技术难度,现在工业上用的也就是KEIL的 A51 ,汇编多在院校使用,企业上基本上全用C了早期有c编译器有富兰克林,与KEIL,现在基本全是KEIL C51了
第4个回答  2013-09-16
难道你是自动化08的 NB啊 顶强哥!!!

主流C51单片机编译器比对
51单片机用的最多的就是keil C51编译器,比较通用。什么51都可以,只要到其厂商的官方网站上面下个相应的驱动程序就可以了

单片机:为什么C51中不大用int型数据,而大多使用char型
51用char不是因为51ram少,是因为它是8位单片机,单字节处理会快些。int的长度和程序的编译器有关,不同单品机的编译器依旧其单片机类型会调整int长度,所以short才是真正意义上的16位。

C51和标准C语言的主要差别
c51是标准c的扩展,使用专用的编译器,如keil 与franklin等;c51特有的有以下几点,可能不全:bit型变量,bdata code xdata pdata idata 存储类型控制字,interrupt 中断函数,最主要的是c51主要面向的是硬件,程序的编写思路与标准c差别很大。

单片机用C51和汇编语言写程序的区别
仅仅是语言本身的区别,一个是用C语言,一个是用汇编语言 若干年前汇编相对于C语言有性能上的优势,因为每条指令与机器马直接对应,做优化容易控制些。但如今编译器越来越强大,优化的结果也越来越好,汇编这点优势就不明显了。而C语言相对于汇编来说它的优势就在于它是高级语言,语法上更平易近人,也...

单片机上位机用什么语言、 软件编译器最好?
要是你说在PC上开发单片机里头的固件,就用C。要是你做PC上跟单片机通讯的元件,用Delphi吧界面做得炫啊。VC做界面不好用,做底层驱动就不错。

franklin51编译器和keil c51是通用的吗
C51,其中有中文版的,适合英语水品不太高的使用,franklin51很少听说,建议使用keil,通用与否不清楚,至少keil生成的Hex是绝大多数的单片机能用的,比如常用的89系列,80系列,90系列,12系列等等,如果是arduino,则有与之对应的arduino IDE软件,如果你的单片机型号确属仅franklin51才能编译的,那亲还是...

gcc编译器和嵌入式keil的C51编译器有什么不
前者是通用的C语言编译器,后者相当于是个定制版。C51中定义了一些原先C语言中没有的类型以及寄存器定义、同时鉴于单片机通常只有几KB的内存空间进行了代码生成量优化,专门用于单片机的开发,这些都是在GCC这样标准的ANSI C编译器中所没有的。

51单片机编程用什么软件
C51语言具有C语言结构清晰的优点,便于学习,同时具有汇编语言的硬件操作能力。对于具有C语言编程基础的读者,能够轻松地掌握单片机C51语言的程序设计。与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的...

“Keil C51”下如何让编译器优先使用片内“RAM”?
\\x0d\\x0a 本例说明,C51编译器允许采用所谓的存储器混合模式,即允许在一个程序中将一些函数使用一种存储模式,而其它一些则按另一种存储器模式,采用存储器混合模式编程,可以充分利用8051系列单片机中有限的存储器空间,同时还可以加快程序的执行速度。\\x0d\\x0a\\x0d\\x0a3绝对地址访问 absacc.h(相当重要)\\x0d...

linux下 c51,avr,msp单片机编译器 有哪些
源程序(source code)→预处理器(preprocessor)→编译器(compiler)→汇编程序(assembler)→目标程序(object code)→连接器(链接器,Linker)→可执行程序(executables])可见,虽然高级语言都是c,但目标代码是基于机器平台的-c51,atmel,arm,motorola\/freescale...同一个编译器也有针对不同平台的版...

相似回答