armcc编译器
A. 有关armcc编译器的问题
如在如下子目录中:d:\new\01
可用下述命令:armcc d:\new\01\filename.c
[格式]有多长写多长,后边加个:\<文件名>
B. armcc vs gcc,及llvm目前的使用情况是什么样的
armcc 在代码的体积上相比与开源gcc编译器更好,而且作为商业产品,能涉及到处理器的更多细节,所做出来的优化应该也更好,想比较而言,gcc就更加的保守了。llvm最近势头很猛,因为使用不同的licence,一些商业公司比较青睐,而且作为后发起的项目,在初始设计的时候就考虑到gcc现存的一些问题,更加模块化,有很多先天的优势吧。但是gcc也在一步步进化,毕竟在目前的开源界,它还是标配吧。
C. ARMCC和ARMCLANG两代编译器有什么区别
armcc,armclang都是arm的编译器,armcc支持到Armv7架构,armclang可以支持Armv6,Armv7, Armv8以及今后Arm的新处理器。 如果是原来老项目,可以继续使用armcc,但对于新项目或新的Arm core,建议armclang。
D. 交叉编译器的举例
交叉编译
1、在Windows PC上,利用ADS(ARM开发环境),使用armcc编译器,则可编译出针对ARM CPU的可执行代码。
2、在linux PC上,利用arm-linux-gcc编译器,可编译出针对Linux ARM平台的可执行代码。
3、在Windows PC上,利用cygwin环境,运行arm-elf-gcc编译器,可编译出针对ARM CPU的可执行代码。
4、在Windows系统上,利用Keil Uvison工具,开发出运行在89C51单片机上的程序。
5、在Windows系统上,利用CodeWarrior IDE工具,开发出运行在Freescale XS128单片机上的程序。
E. 求armcc 编译工具
armcc 在 keil 的 MDK 中,安装一个 MDK 就有了。
MDK 在 keil 官网有下载。
F. sdcc版是啥意思
SDCC(Small Device C Compiler)是一个优化的 ANSI - C交叉编译器,目标CPU为基于Intel 8051, Maxim 80DS390, Zilog Z80 和Motorola 68HC08 的单片机。
SDCC同时带有一个源代码级调试工具SDCDB,使用的是Daniel's s51仿真器当前版本。SDCC是由Sandeep Dutta 所写的,并依据GPL license 发行。
sdcc的特点:
1、SDCC的sdas和sdld 是基于ASXXXX的交叉编译工具和链接工具,他们都是免费开源的软件,依据GNU General Public License (GPL) 发布。
2、有针对特定MCU的编程语言扩展,可以高效的使用基本的硬件资源。
3、有大量的标准优化,如全局字表达式削减,循环优化(无任何操作的循环优化,归纳变量循环优化,逆循环优化), 常量合并的传播,复制传播,死代码删除, 'switch'语句的转移表优化。
4、针对特定MCU的优化,包括全局寄存器分配算法。
5、特定MCU后端适应能力,能够很好的适配其他的8位的MCU。
(6)armcc编译器扩展阅读:
交叉编译出现和流行是和嵌入式系统的广泛发展同步的。常用的计算机软件,都需要通过编译的方式,把使用高级计算机语言编写的代码(比如C代码)编译(compile)成计算机可以识别和执行的二进制代码。
比如,在Windows平台上,可使用Visual C++开发环境,编写程序并编译成可执行程序。这种方式下,我们使用PC平台上的Windows工具开发针对Windows本身的可执行程序,这种编译过程称为native compilation,中文可理解为本机编译。
然而,在进行嵌入式系统的开发时,运行程序的目标平台通常具有有限的存储空间和运算能力,比如常见的 ARM 平台,其一般的静态存储空间大概是16到32MB,而CPU的主频大概在100MHz到500MHz之间。
这种情况下,在ARM平台上进行本机编译就不太可能了,这是因为一般的编译工具链(compilation tool chain)需要很大的存储空间,并需要很强的CPU运算能力。
为了解决这个问题,交叉编译工具就应运而生了。通过交叉编译工具,我们就可以在CPU能力很强、存储空间足够的主机平台上(比如PC上)编译出针对其他平台的可执行程序。
要进行交叉编译,要在主机平台上安装对应的交叉编译工具链(cross compilation tool chain),然后用这个交叉编译工具链编译我们的源代码,最终生成可在目标平台上运行的代码。