C/C++有许多所谓的库文件,这些库文件是怎么制作的?已有有的库文件能扩充吗?这些能在Linux中做吗?

在Linux中,使用GCC左编译器,怎么制作或修改扩充C/C++的库文件?... 在Linux中,使用GCC左编译器,怎么制作或修改扩充C/C++的库文件? 展开
 我来答
人才0252
2010-12-30 · TA获得超过780个赞
知道小有建树答主
回答量:733
采纳率:0%
帮助的人:346万
展开全部
前面2位回答的都是windows平台的。
linux是这样的步骤,比如您需要一个加密库openssl,需要先下载安装其linux或unix版源码。一般为.tar,或zip的压缩包。
解压后,运行./configur。
再运行 make
再执行 make install
openssl库就安装到了系统中。
编程可以这样:
#include <stdio.h>
#include <openssl/des.h>
main()
{
………………调用openssl函数库
}

当然能在Linux里做,你可以写自己的库函数,方便以后编程。
比如你写了个程序tools.c :
int fun(int i)
{
return i+1;
}
tools.h:
int fun(int);
你可以这样编译成静态库 :
cc -c tools.c
ar -r tools.a tools.o
也可以这样编译成动态库:
cc -c tools.c
cc -shared -WI libtools.so libtools.so.1.0 tools.o
鋇遺輞锝過紶
2010-12-30 · TA获得超过950个赞
知道大有可为答主
回答量:2125
采纳率:0%
帮助的人:1088万
展开全部
人家.h头文件里写的API是跟系统的dll库对应的....
当然``你自己写dll文件的时候导出一些函数,然后发布的时候发布.h跟.lib文件,别人就能用你的DLL了
去看C语言的第一章!!!关于编译啥啥的~~
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
handsoul
2010-12-30 · TA获得超过955个赞
知道小有建树答主
回答量:500
采纳率:0%
帮助的人:757万
展开全部
库文件。。
如果你想做一个库,首先是语法,库文件时给人家调用的。。你要做的,就是把需要给别人用的函数export出来..没有main函数的说法。

再就是编译。Linux下可以编译成.so就是动态库,或者.lib就是静态库。(前者加载时候调入内存,而且,一个动态链接库只在内存中出现一次,后面再调用相同的动态库,就直接从内存中找;后者是每次调用都加载到内存中去)

Linux下当然当然可以了。怎么编译,具体gcc选项我不太明确。因为我直接用的codeblocks,可以编译库文件。

库文件就是把你写的API给封装起来,供使用者调用。仅此而已。可以实现类比硬件插拔的一种软件插拔。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
紫翼魔狼
2010-12-30 · TA获得超过4344个赞
知道大有可为答主
回答量:1413
采纳率:42%
帮助的人:571万
展开全部
在Linux可以阿,一样的,Linux下也分静态链接库和动态链接库。
已有的库最好不要乱动,看你问的问题就知道你不是很了解库文件,所以最好不要动。因为库文件是有函数入口位置的,改了以后,别的程序就不能正常使用改动后的库文件,也就不能正常运行了。
制作库文件和编写正常的程序差不多,只不过没有主函数。编译的时候不是生成可执行文件,而是生成库。我没有直接用GCC编译过库,我使用过IDE(CodeBlocks)调用GCC编译过库。和Windows 下的VC++差不多。
至于做法,在《Linux 高级程序设计》这个书里有介绍。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式