嵌入式系统及应用-Chapter09-ARM编译器.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式系统及应用-Chapter09-ARM编译器

C/C++编译器概述 编译器和语言库 搜索路径 编译器和语言库 编译器和语言库 文件类型 *.c:C编译器源文件 *.c,*.cp,*.cpp,*.c++,*.cc:C++编译器源文件 *.h:头文件 *.s:ARM汇编代码源文件 *.o:ELF格式目标文件(含DRAWF2调试信息) *.lst:错误和告警信息列表文件 编译器和语言库 ARM C语言库 Rogue Wave C++库 支持库 对于不同ATPCS有相对应的语言库支持 搜索路径 内存中的ANSI C语言库的头文件系统 当前路径(Berkeley Unix规则) ARMINC环境变量 指定搜索路径 编译器命令行格式 过程调用标准 源程序语言类型 搜索路径 输出文件类型 目标处理器和ARM体系版本 调试信息和代码生成控制 告警和错误信息控制 编译器命令行格式 compiler [PCS-options] [source-language] [search-paths] [preprocessor-options] [output-format] [target-options] [debug-options] [code-generation-option] [warning-options] [additional-checks] [error-options] [source] armcc -via parfile.txt source.c -errors errorfile 过程调用标准 -apcs /noswst/nointer/noropi/norwpi -fpu softvfp 与interwork相关的qualifiers -interwork/-nointerwork 与位置无关特性相关的qualifiers -ropi/-noropi -rwpi/-norwpi 与数据栈检查相关的qualifiers -swstackcheck/-noswstackcheck 源程序语言类型 -ansi -ansic -cpp -embeddedcplusplus -strict 搜索路径 -I -fk -fd -j 输出文件类型 -c -list -o file -S 目标处理器和ARM体系版本 -cpu name -cpu ARM940T -cpu 4T -fpu name -fpu none -fpu vfp -fpu softfpa 调试信息和代码生成控制 调试信息控制 -g[option] -dwarf2 代码生成控制 代码优化编译选项 代码段、数据段的编译选项 内存模式编译选项 对齐模式编译选项 告警信息和错误信息控制 告警信息控制 -W[options]+[options] 一般情况下应更改程序而不是关闭告警信息 错误信息控制 -E[options]+[options] 一般情况下应更改程序而不是关闭错误信息 pragmas和关键字 pragmas 声明函数的关键字 声明变量的关键字 限定数据类型的关键字 pragma 格式 check_printf_format, check_scanf_format, debug, Ospace, Otime, Onum, stack_check, softfp_linkage, import -pragma feature-name设置特性 -pragma no_feature-name取消特性 举例 #pragma check_printf_formats extern void myprintf(const char*,...) #pragma no_check_printf_formats 声明函数的关键字 __asm __inline __irq __pure __softfp __swi 声明变量的关键字 register _int64 _global_reg 声明变量的关键字 _align(8) _packed _volatile _weak 数据类型和预定义宏 基本数据类型 预定义宏 基本数据类型 预定义宏 见P321 编程 #ifdef MACRO_NAME ... #else ... #endif C/C++库 C/C++运行时库概述 建立包含运行时库的应用程序 建立不包含运行时库的应用程序 裁减C/C++运行时库 C/C++运行时库概述 C运行时库 ISO C语言库标准中定义的函数 运行于semihosting、与目标系统相关的函数 C/C++编译器需要的支持函数 C++运行时库 Rogue Wave标准C++库 C++编译器的支持函数 其它C++库 C/C++运行时库概述 运行时库选择 内存模式:big endian or littel endian 浮点运算类型 数据栈溢出检查

文档评论(0)

82393aa + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档