C/C++有许多所谓的库文件,这些库文件是怎么制作的?已有有的库文件能扩充吗?这些能在Linux中做吗?
展开全部
前面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
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
展开全部
人家.h头文件里写的API是跟系统的dll库对应的....
当然``你自己写dll文件的时候导出一些函数,然后发布的时候发布.h跟.lib文件,别人就能用你的DLL了
去看C语言的第一章!!!关于编译啥啥的~~
当然``你自己写dll文件的时候导出一些函数,然后发布的时候发布.h跟.lib文件,别人就能用你的DLL了
去看C语言的第一章!!!关于编译啥啥的~~
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
库文件。。
如果你想做一个库,首先是语法,库文件时给人家调用的。。你要做的,就是把需要给别人用的函数export出来..没有main函数的说法。
再就是编译。Linux下可以编译成.so就是动态库,或者.lib就是静态库。(前者加载时候调入内存,而且,一个动态链接库只在内存中出现一次,后面再调用相同的动态库,就直接从内存中找;后者是每次调用都加载到内存中去)
Linux下当然当然可以了。怎么编译,具体gcc选项我不太明确。因为我直接用的codeblocks,可以编译库文件。
库文件就是把你写的API给封装起来,供使用者调用。仅此而已。可以实现类比硬件插拔的一种软件插拔。
如果你想做一个库,首先是语法,库文件时给人家调用的。。你要做的,就是把需要给别人用的函数export出来..没有main函数的说法。
再就是编译。Linux下可以编译成.so就是动态库,或者.lib就是静态库。(前者加载时候调入内存,而且,一个动态链接库只在内存中出现一次,后面再调用相同的动态库,就直接从内存中找;后者是每次调用都加载到内存中去)
Linux下当然当然可以了。怎么编译,具体gcc选项我不太明确。因为我直接用的codeblocks,可以编译库文件。
库文件就是把你写的API给封装起来,供使用者调用。仅此而已。可以实现类比硬件插拔的一种软件插拔。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在Linux可以阿,一样的,Linux下也分静态链接库和动态链接库。
已有的库最好不要乱动,看你问的问题就知道你不是很了解库文件,所以最好不要动。因为库文件是有函数入口位置的,改了以后,别的程序就不能正常使用改动后的库文件,也就不能正常运行了。
制作库文件和编写正常的程序差不多,只不过没有主函数。编译的时候不是生成可执行文件,而是生成库。我没有直接用GCC编译过库,我使用过IDE(CodeBlocks)调用GCC编译过库。和Windows 下的VC++差不多。
至于做法,在《Linux 高级程序设计》这个书里有介绍。
已有的库最好不要乱动,看你问的问题就知道你不是很了解库文件,所以最好不要动。因为库文件是有函数入口位置的,改了以后,别的程序就不能正常使用改动后的库文件,也就不能正常运行了。
制作库文件和编写正常的程序差不多,只不过没有主函数。编译的时候不是生成可执行文件,而是生成库。我没有直接用GCC编译过库,我使用过IDE(CodeBlocks)调用GCC编译过库。和Windows 下的VC++差不多。
至于做法,在《Linux 高级程序设计》这个书里有介绍。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询