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.熟悉观察者模式