共有两种库:一种是库包含了函数所在的DLL文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的DLL提供,称为动态链接库dynamic link library。一种是库包含函数代码本身,在编译时直接将代码加入程序当中,称为静态链接库static link library。共有两种链接...
分类:
其他好文 时间:
2015-12-16 18:49:23
阅读次数:
115
在windows的发展过程中在经历了“无库-静态链接库-动态链接库”的时代。 静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib 中的指令都被直接包含在最终生成的 EXE 文件中了。但是若使用 DLL,该 DLL 不必被包含在最终 EXE 文件中,EXE 文件.....
分类:
其他好文 时间:
2015-12-16 17:13:47
阅读次数:
119
简单地讲:第一:.DLL是动态链接库,而.LIB是静态链接库dll是个编译好的程序,调用时可以直接调用其中的函数,不参加工程的编译. 而lib应该说是一个程序集, 只是把一些相应的函数总结在一起, 如果调用lib中的函数,在工程编译时,这些调用的函数都将参加编译.第二:从内存管理的角度来看,lib必...
分类:
其他好文 时间:
2015-12-10 11:11:33
阅读次数:
144
目的隐藏源代码只提供给.a与.h文件/*aston.c*/#include<stdio.h>voidfunc1(void){printf("func1inaston.c\n");}intfunc2(inta,intb){printf("func2inaston.c\n");returna+b;}//aston.hvoidfunc1(void);intfunc2(inta,intb);//Makefileall:gccaston.c-oaston.o-car-rcliba..
分类:
其他好文 时间:
2015-11-22 23:37:29
阅读次数:
351
1、函数库 函数库其实就是一些写好的函数集合,方便别人的复用。实现的封装之后,最终的目的都是给别人调用。 2、库的形式 库的形式分:动态链接库和静态链接库。 优点: (1)库文件都是被编译好的二进制文件,别人看不到源代码,可以保持保密;(2)同时不会因为不小心被修改出现问题,便于维...
分类:
其他好文 时间:
2015-11-06 20:52:44
阅读次数:
242
在ios中使用第三方类库在项目开发中经常会用到一些第三方类库,通常有两种方法来做到:一种方法是直接把所有的.h和.m文件复制到项目中;另一种方法是把.xcodeproj拖到项目中生成静态链接库并引用。方法一:直接复制所有源文件到项目中这种方法就是把第三方类库的所有源文件复制到项目中,直接把所有.h和...
分类:
移动开发 时间:
2015-10-27 01:42:47
阅读次数:
186
【重要资料】http://www.ibm.com/developerworks/cn/linux/l-dynamic-libraries/#list2动态链接库的生成:代码上与写静态链接库没什么区别,主要是在编译时,以两个文件举例:/*mylib.h*/void Print();/*mylib.c*...
分类:
系统相关 时间:
2015-10-22 17:04:44
阅读次数:
214
前两天搞明白了动态链接库和静态链接库,后面终于也基本上搞懂了我之前不明白的“dlopen”是咋回事,怎么也要扒一扒。 共享库,有两种形式,第一种就是在上一篇文章中说到的“动态链接库”,而共享库的另一种形式,则被称之为“动态加载库”,也就是我刚才提到的用“dlopen”方式来玩的。动态加载库在编...
分类:
系统相关 时间:
2015-10-21 01:40:02
阅读次数:
250
上一篇文章里讲解了linux下静态链接库的编译与使用,下面我们来聊聊动态链接库的编译与使用方法。 所谓动态链接库,也就是说编译的时候不会真的把你引用到的库给编到你的执行程序里,而是在执行时候才会去加载相关的库,所有用到此库的程序可以共享一份代码,这样带来的好处是可执行程序所占的空间变小了,同时...
分类:
系统相关 时间:
2015-10-17 00:39:16
阅读次数:
258
使用MinGW附带的工具reimp.exe,该工具一般在MinGW in目录下,其readme文档在MinGWdoc eimp目录下,方法很简单,比如:C:CodeBlocksMinGWlibdx9>reimp d3d8.lib就会生成一个“libd3d8.a”文件,这个文件就可以让基于MinGW的...
分类:
其他好文 时间:
2015-10-16 23:05:32
阅读次数:
318