【 声明:版权所有欢迎转载,請勿用于商业用途 联系信箱:feixiaoxing @163.com】
动态链接库不是linux独有的特性,在windows下面也存在这样的特性一般来说,windows下面的动态连接库是以*.dll作为结尾的而linux下面的动态连接库是以*.so结尾的。和静态链接库相比动态连接库可以共享内存资源,这样可以减少内存消耗另外,动态连接是需要經过操作系统加载器的帮助才能被普通执行文件发现的所以动态连接库可以减少链接的次数。有了这个特点我们就不难发现为什么很哆软件的补丁其实都是以动态库发布的。
在上面的代码当中我们发现使用到了add函数,那么此时如何才能生成一个执行文件呢也很简单,输入gcc hello.c -o hello ./libtest.so然后输入./hello,此时可以验证一下执行文件运行是否正确在编写静态库的时候,我说过静态库是汇编链接到执行文件当中的而动態库不会。朋友们可以做个小实验删除libtest.so,然后输入./hello此时大家可以看看系统有没有错误返回?
这个时候有的朋友就会问了,那在windows下面dll應该怎么编写呢其实也不难,只要在test.h上面稍作改变即可其他的步骤和