打造VIM IDE 静态库 动态库制作
vim配置文件位置:
/etc/vim/vimrc~/.vimrc
打造IDE步骤
![](http://images0.cnblogs.com/blog/660888/201409/032301236418281.jpg)
,ta ,nn 测试
使用大型IDE
![](http://images0.cnblogs.com/blog/660888/201409/032301242197938.jpg)
,da 生成文档说明
,dd 生成函数说明
,jd 跳转函数
,o 关闭其他窗口
,bf 显示已经打开的文件列表
gcc参数的使用:
![](http://images0.cnblogs.com/blog/660888/201409/032301247199851.jpg)
linux下制作动态库,静态库,下面是文件结构图:
![](http://images0.cnblogs.com/blog/660888/201409/032301255009979.png)
制作静态库,静态库以 .a 结尾:
src里的makefile 生成 静态库文件
libcalc.a:
gcc -c *.c
ar rcs libcalc.a *.o
mv libcalc.a ../lib
clean:
rm -rf *.o
rm -rf libcalc.a
rm -rf ../lib/libcalc.a
main.c的makefile文件 用来链接静态库,执行
all:
gcc main.c -Iinclude lib/libcalc.a -o app// -Iinclude 是指定头文件的地址
clean:
make -C src clean //make -C 是进入到src目录里执行src的 make clean
rm -rf app
另一种方法:
可以 gcc -c main.c -Iinclude 先生成一个 main.o 文件
然后再 gcc main.o lib/libcalc.a -o app 和静态库一起编译
制作动态库:动态库以.so结尾
src里的makefile 生成动态库文件
libcalc.so:
gcc -fPIC -c *.c
gcc -shared -W -o libcalc.so *.o
mv libcalc.so ../lib
链接动态库生成可执行文件
gcc main.c -Iinclude -L./lib -lcalc -o app
解释:
-L./lib 指定库所在的目录
-lcalc 库的名字为libcalc.so -l为lib的简写,so可以省略 ,所以 -lcalc
遗憾的是报错:
![](http://images0.cnblogs.com/blog/660888/201409/032301258135652.png)
ldd ./app 一下 发现 动态库没有找到
![](http://images0.cnblogs.com/blog/660888/201409/032301261721608.png)
找到动态库的方法:邢老师教的
这时候需要修改/etc/ld.so.conf,用root权限修改
在里面加上lib的目录就可以了
![](http://images0.cnblogs.com/blog/660888/201409/032301265782550.png)
然后,sudo ldconfig一下,再ldd就可以看到动态库了
![](http://images0.cnblogs.com/blog/660888/201409/032301268609763.png)
接着就可以执行了。
另外一种找到动态库的方法:和朱老师学的
linux不在当前目录下寻找可执行程序,同时也不早当前目录下找so库文件
修改用户配置文件的方法
1 cd
2 vi .bash_profile (坑爹,Ubuntu下是 .profile)
3 export LD_LIBRARY_PATH = $LD_LIBRARY_PATH:. 这个更坑爹,=两边没有空格
4 保存退出
5 . .bash_profile
静态库错误原因 nm查看库文件
可以用过 nm 指令 查看一个 库 的 符号表,这样就能查看里面的错误
![](http://images0.cnblogs.com/blog/660888/201409/032301280788291.png)