HighTec编译器如何使用库函数

不少用户使用HighTec编译器时,特别是做电机控制器经常需要用到math.h中的数学函数,那么在Hightec编译器中怎么才能使用这些编译器中自带的数学函数呢?这里给大家介绍三种添加库文件的方式,前两种方法针对使用IDE编译的他用户,最后一种是针对使用makefile的情形。
HighTec编译器中这些数学函数都是以lib的形式提供,常用的数学运算相关的函数都在libdnk_c.a这个库文件中。需要注意的是,使用这个库函数时,需要根据目标芯片的类型去选择,如果使用TC2XX,则需要选择安装目录下tc161文件夹下面的库,若是TC3XX,则选择tc162下面的库文件,否则在链接时会报错。库文件路径如下所示。
在这里插入图片描述

第一种方式:手动添加 libdnk_c.a 库到用户工程

第一步:在源文件中使用 #include 宏命令将 math.h 包含进来。

第二步:libdnk_c.a 位于“C:\HIGHTEC\toolchains\tricore\v4.9.3.0\tricore\ lib\tc162”文件夹之下,在 Hightec的配置窗口“TriCore C Linker”下添加 libdnk_c.a 库的路径和名称,如下图所示:
在这里插入图片描述

需要格外注意的时,在IDE中添加库名称时需要将lib和.a 去掉,为什么要去掉呢?这是因为Highec使用的编译指令为tricore-gcc,而在gcc的链接指令语法就是如此规定的。如果需要在此链接自己生成的库文件或者第三方的库文件,操作方法相同,库文件必须以lib前缀,.a后缀才能被编译器正确识别并链接。

另外添加路径时路径要和 libdnk_c.a 的位置匹配,如果库的搜索路径包含库的位置则不需要再添加。

第四步:编译工程,可以在生成的.map文件中看库是否成功链接。

第二种方式: 直接在Miscellaneous下添加链接指令“-ldnk_c”

第一步:在使用数学函数的代码头部添加 include <math.h> ,可以不用像第一种方式那样把math.h的详细路径写上。

第二步:到Hightec工程属性设置下中TriCore C Linker下的 Miscellaneous下添加链接指令“-ldnk_c”,如下图所示:
在这里插入图片描述

这个操作方法其实在Hightec的用户手册Userguide中有说明,如下:
在这里插入图片描述

第三步:编程工程,可以成功编译和链接。

第三种方式: 在makefile的link选项中添加链接指令“-ldnk_c”

对于使用makefile脚本编译和链接的用户,也可以在makefile的link选项中添加需要的库文件,脚本命令如下。
-L"C:\Users\wen jihui\htc-workspace\test397" -lsv63
-L后面是库文件的路径,sv63就是需要链接的库文件。如果当前路径下又多个库需要链接,可以在-lsv63后面接着添加即可。

小结

上面介绍了三种常见的添加库文件的方法,对于使用IDE编译的用户,推荐使用第一种方法,直接在Link中按照上述步骤添加使用即可。
使用库文件需要注意的几点:
1 库文件必须以lib前缀,.a为后缀,否则链接会失败。
2 在IDE或者makefile中添加库时,去掉lib的前缀和.a的后缀。
3 选择libdnk_c.a时,需要注意所使用芯片的类型。TC2xx为tc161的内核,对应安装目录下tc161文件夹下面的库文件,TC3xx为tc162的内核,对应安装目录下tc162文件夹下面的库文件。

  • 5
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
HighTec的makefile使用说明如下: 1. 创建makefile文件:在项目的根目录下创建一个名为"makefile"的文件。 2. 定义目标:在makefile中定义要构建的目标。目标是项目中的可执行文件、库文件或其他生成的文件。 例如,如果你要构建一个名为"app"的可执行文件,可以这样定义目标: ``` app: main.c utils.c gcc -o app main.c utils.c ``` 这里假设你的项目包含了"main.c"和"utils.c"两个源代码文件,并且使用gcc编译器进行构建。 3. 定义依赖关系:在makefile中定义每个目标所依赖的文件或其他目标。 例如,如果"app"目标依赖于"main.c"和"utils.c"两个源代码文件,可以这样定义依赖关系: ``` app: main.c utils.c ``` 这告诉make工具,在构建"app"目标之前,需要先检查"main.c"和"utils.c"是否有修改。 4. 定义构建规则:在makefile中定义如何构建每个目标。 对于上述示例,构建规则可以是: ``` app: main.c utils.c gcc -o app main.c utils.c ``` 这里使用了gcc命令进行编译,并指定输出文件名为"app"。 5. 运行make命令:在终端中进入到makefile所在目录,并运行命令"make"。 make工具会自动解析makefile文件,并根据定义的目标、依赖关系和构建规则来执行构建操作。 注意:以上只是一个简单的示例,实际的makefile可能会更复杂,包含更多的目标、依赖关系和构建规则。你可以根据项目的需求进行相应的定义和配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汽车电子攻城狮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值