CCSv7使用指南连载7:如何编译生成.lib静态库
来源:互联网 发布:无线网卡 通道 知乎 编辑:程序博客网 时间:2024/06/02 06:04
2017-12-15 C2000小百科
版权声明:本系列文章欢迎转载,请注明出处,谢谢!
1 摘要
CCSv7是Texas Instruments针对自家嵌入式处理器或者单片机开发推出的集成开发环境,同时CCSv7也是完全免费的开发软件。本系列文章主要目的是介绍CCS使用入门及在实际项目开发过程中有用的技巧及方法。第7篇介绍如何编译生成.lib静态库。
在产品开发过程中,有时候出于敏感代码保护,或者为了减少编译时间,或者为了便于代码维护的目的,通常会去关键代码或者底层驱动代码编译成库.lib。库从本质上来说是一种可执行代码的二进制格式,把这些常用函数的目标文件打包在一起,提供相应函数的接口,便于程序员使用。在linking过程中,linker工具会自动从库中将程序中使用到的库函数机器码拷贝到最终生成的二进制可执行文件中。
2 操作步骤
· 和新建立一个工程是一样的,点击Project->New CCS Project,然后点击红框所示的Advanced setting。
·首先选择器件平台,因为手头有F28069 LaunchPad,我们选择F28069。可以看到Output format和Device endianness自动变成灰色
Note:所有C2000器件都是小端模式的,即数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中。
·将默认自带的main.c删除,添加add_test.c和add_test.h,要实现的功能是生成一个带加法函数的静态库。
.h文件参考代码如下:
#ifndef ADD_TEST_H_#define ADD_TEST_H_extern int add_test(int a, int b); #endif/*ADD_TEST_H_ */
.c文件参考代码如下
#include"add_test.h" int add_test(int a, int b) { return a+b; }
·然后点击build构建出add.lib即可。如下所示,生成的.lib在Debug文件中生成了。
3 调用和验证.lib功能
我们重新建立一个工程,详细步骤请参考之前文章(CCSv7使用指南连载2:基于外设文件新建工程),建立的工程如下所示:
将.h和.lib文件拷贝到工程中,也可以将文件链接到工程中(我们会在后续的文章中介绍),如下图所示。
在main.c里面调用头文件,以及添加相关函数。
代码如下所示:
#include"add_test.h"int a = 5;int b = 6;int sum;int main(void){sum = add_test(a,b);while(1);}
然后编译构建生成.out,下载到芯片中验证。
完~
请关注公众号【C2000小百科】,更多内容将会在公众号中发布。
- CCSv7使用指南连载7:如何编译生成.lib静态库
- CCSv7使用指南连载1:导入工程及编译下载
- CCSv7使用指南连载3:CCS文件及编译构建过程
- CCSv7使用指南连载4:Uniflash使用指南
- CCSv7使用指南连载6:Uniflash cloud使用指南
- CCSv7使用指南连载0:软件下载及安装
- CCSv7使用指南连载2:基于外设文件新建工程
- CCSv7使用指南连载8:构建便于移植的工程
- [C++ rudiment]如何生成自己的静态库(lib)文件
- C++ / vs 如何生成自己的静态库(lib)文件
- 如何生成自己的静态库(lib)文件
- [C++ rudiment]如何生成自己的静态库(lib)文件
- C++ / vs 如何生成自己的静态库(lib)文件
- 如何生成自己的静态库(lib)文件
- C++如何生成自己的静态库(lib)文件
- 如何编译出cef2623中的cef_sandbox.lib静态库
- VS2010生成静态库(.lib)
- VS2010生成静态库(.lib)
- 剑指offer—整数中1的个数
- 06-图2 Saving James Bond
- 构造函数
- python 登陆接口 作业1
- 新一代
- CCSv7使用指南连载7:如何编译生成.lib静态库
- linux 进程、内存、cpu等查看命令
- 个人知识地图
- 规则引擎预研
- 给个n,求1到n的所有数的约数个数的和~
- 代码编辑器Sublime Text 3简体中文汉化包
- 程序员的几个不良小习惯
- 我是如何分分钟采集别人的WORDPRESS博客的
- 人生一切都是虚妄,唯有背单词是永远的救赎