Tasking编译器的一些配置

前言:工作中接触过一些编译器,例如ADS,Hightec,CCS,Tasking,用的较多的是CCS和Tasking,感觉这两个编译器用起来感觉差不多,我想如果一款编译软件用熟练之后,其他应该也能很快上手。如果对编译过程熟悉的话,那么对了解编译器的配置会有帮助。 以下为本人工作过程中觉得一些比较常用的Tasking的配置设置,做一些记录。如有不对之处,欢迎大家指正。重点记录Build部分的配置,工程编译基本都在这部分配置。

1. 编译过程

        首先来了解一下C语言的编译过程,一般来说,将源文件构建成可执行文件的过程大致分为四步:预处理(Preprocessing)→编译(Compilation)→汇编(Assemble)→链接(Linking)。

以Tasking编译器为例,实现过程如下:

  • 预处理(Preprocessing)

        处理由"#"开头的预处理器指令,例如将#define定义的宏进行替换,将#include包含的头文件进行插入。

  • 编译(Compilation)

        将C程序转换为芯片架构(如TriCore)的汇编代码。

  • 汇编(Assemble)

        将汇编代码转换成计算机认识的机器码,即生成二进制格式的目标文件。

  • 链接(Linking)

        链接器Linker将所有的目标文件与其他库文件、启动文件等链接起来生成可执行文件。

        不同的编译器编译的细节实现可能不一样,但过程大致一样。

2. 属性配置(Properties)

       右键工程,点击Properties进行以下配置。

2.1 C/C++ Build

2.1.1 配置管理(Configuration)

编译工程代码时,我们可以以不同的配置进行编译,具体可以通过不同配置下的宏定义实现编译后的差异。项目中一般使用较多的是Debug和Release,Debug软件用于内部调试,Release软件用于正式释放。

2.1.2 出现错误便停止编译(Stop on first build error)

项目过大时,编译整个项目是需要花费很多时间的,通过勾选这个配置可以在编译时遇到第一个错误便停止编译。

2.1.3 内存(Memory)

这里可以对内存地址进行一些设置

2.1.4 设置(Settings)

这里是重头戏,分成了三大类部分:编译(预处理也在这里)、汇编、链接

2.1.4.1 编译(C/C++ Complier)
2.1.4.1.1 预编译(Preprocessing)

        一般不需要生成pre文件,当然在排查问题时可以通过pre文件看看宏替换后的样子

2.1.4.1.2 包含的文件路径(Include Paths)

        添加了代码别忘了包含其路径所在。这里可以通过手动填写地址添加/workspace添加/system files添加,我一般通过workspace添加,感觉更方便。

2.1.4.1.3 编译优化(Optimization)

        TASKING编译器提供了四个优化级别和一个自定义级别,在每个级别上都启用了一组特定的优化。

  1.         0级:不进行任何优化。
  2.         1级优化:启用不影响源代码可调试性的优化。当在使用优化级别2调试源代码时遇到问题时,使用此级别。
  3.         2级(默认):启用更多优化以减少内存占用和/或执行时间。这是默认的优化级别。
  4.         3级优化:最高级别的优化。当程序/硬件变得太慢而无法满足实时需求时,使用此级别。
  5.         自定义优化:在自定义优化页面上启用/禁用特定优化。

        而编译速度和内存占用选择是此消彼长的,想要速度快,就得牺牲点内存,反之。

2.1.4.2 汇编(Assembler)

        汇编需要配置的不多,大多用默认配置就行,如果有一些除.c.h的文件,如.asm,则需要包含路径进来。

  • Include Paths

2.1.4.3 链接(Linker)
  • Scipt File

        链接部分主要关注选择链接文件。

2.1.4.4 hex文件生成(Binary Parsers)

        默认是不生成hex文件的,需要在这里进行勾选。

2.2 C/C++ General

代码分析(Code Anlysis)

一般默认配置就行,也可以根据需要进行自定义设置。

格式器(Formatter)

        这里设置是为了方便格式同一。比如上传代码到Git上时,如果项目组不同成员Table代表的空格数不一致,那么最终显示在Git上的代码会很不美观。

3. 参数配置(Preferences)

        Preferences里更多的是与代码有关,包括字体选择,字体大小等等。

3.1 显示代码行数

3.2 字体字形大小选择

3.3 命名重构

        当你想对某个变量进行重新命名,但是这个变量被多处引用,这时可以用这个功能。

3.4 下标索引

        当你找不到定义时,可以试试重新Rebuild index,右键工程:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值