嵌入式开发入门心得记录

时间:2022-06-06 19:52:15

1.首先要做好方案架构的设计,如算法,功能,工具,等进行分类

2.如何编译动态库和静态库,库的作用是什么?

  静态库在编译时直接编辑进主函数中,文件较大,动态库是在执行时动态加载库文件,共享动态库可以提供给他人使用,也就是开放自己的API函数

  如何编译动态库呢?

  假设已经有了文件test1.c test2.c main.c

 1 gcc test1.c test2.c -shared -fPIC -o libtest.so
 2 
 3 使用动态库
 4 
 5 gcc main.c -L. -ltest -o a.out
 6 
 7 (
 8 
 9 -L : 表示需要库的路径
10 
11 -l:表示需要库的名称,如libtest.so,名称则为test
12 
13 )
14 
15 (ps:执行a.out时有可能提示找不到libtest.so文件,这时需要把库文件放入到/lib等目录下,或者添加环境变量LD_LIBRARY_PATH,包含有库文件的路径即可)

  如何编译静态库?

 1 gcc -c test1.c test2.c
 2 
 3 ar -r libtest.a test1.o test2.o
 4 
 5 使用静态库
 6 
 7 gcc main.c -static -L. -ltest -o a.out
 8 
 9 (
10 
11 -static:可强制编译时使用静态库,如果不使用这个参数,而静态库与动态库同名的话,会优先使用动态库
12 
13 )

 

3.如何是封装API?

  做c开发时,API即是通过.h 和.c实现函数,供其他用户或函数进行调用,可以封装成动态库或者静态库,也可以和主函数一起直接编译。

4.熟悉观察者模式