当前位置: 技术问答>linux和unix
请问如何生成和使用自己的库文件?
来源: 互联网 发布时间:2017-02-17
本文导语: 比如说,我自己写了如下的文件 spfs_log.h spfs_log.cpp spfs_sockset.h spfs_sockset.cpp spfs.h spfs.cpp 我编译之后得到了 spfs_log.o spfs_sockset.o spfs.o 三个目标文件 ar -rv utility spfs.o spfs_log.o spfs_sockset.o 得到了utility库文件。 请...
比如说,我自己写了如下的文件
spfs_log.h spfs_log.cpp
spfs_sockset.h spfs_sockset.cpp
spfs.h spfs.cpp
我编译之后得到了
spfs_log.o
spfs_sockset.o
spfs.o
三个目标文件
ar -rv utility spfs.o spfs_log.o spfs_sockset.o
得到了utility库文件。
请问接下来我应该怎么做,就可以像
#include
一样包含头文件,就可以在程序中调用
printf()一样调用我自己的函数呢?
比如在spfs_log.h中声明的spfs_log()函数呢?
spfs_log.h spfs_log.cpp
spfs_sockset.h spfs_sockset.cpp
spfs.h spfs.cpp
我编译之后得到了
spfs_log.o
spfs_sockset.o
spfs.o
三个目标文件
ar -rv utility spfs.o spfs_log.o spfs_sockset.o
得到了utility库文件。
请问接下来我应该怎么做,就可以像
#include
一样包含头文件,就可以在程序中调用
printf()一样调用我自己的函数呢?
比如在spfs_log.h中声明的spfs_log()函数呢?
|
库的名字给取好了,程序里include进去头文件,库放的位置要让程序能找到,或者放到系统默认的/usr/lib之类的地方,编译的时候加-lxxx,链接上自己的库
|
你打包了静态库,将来在其他程序链接阶段,-l引入静态库或者直接将它参与到链接里都可以,如果-l的话需要改名为libxxx.a,链接时-lxxx并且-L path指定静态库路径。
另外,编译时需要使用该库函数的文件应该包含对应函数的头文件完成编译。
另外,编译时需要使用该库函数的文件应该包含对应函数的头文件完成编译。
|
嗯。注意在头文件中声明好你的接口,头文件可放到/usr/include中
|
lz的思路基本正确
这些东西可以自己多试验,实践出真知,哈哈
刚开始不用把自己的库放到系统默认目录,放到当前目录,或者用-L来指定,这样更明确一些
这些东西可以自己多试验,实践出真知,哈哈
刚开始不用把自己的库放到系统默认目录,放到当前目录,或者用-L来指定,这样更明确一些