VC-动态链接库
文章平均质量分 53
primer_programer
永无止境
展开
-
创建和使用多层嵌套的lib库的总结
首先理解了三个概念:1. 静态链接库这是一个名词,是.lib库。2. 静态链接在工程设置的Link项中,添加所要链接的.lib库,程序中包含其导出函数对应的头文件。再编译时,就会将使用到的静态库中的函数一同编译到目标文件中,目标文件可以是lib库,dll,exe,ocx等。3. 动态链接程序再运行时才装载要使用的函数。动态链接一般都是使用Dll原创 2008-01-29 15:04:00 · 2236 阅读 · 1 评论 -
使用静态库 静态连接和动态连接
遗憾地说:除了ender说的是正确的外,其他观点都有偏颇之处甚至是错误的。我的感觉是,大家受MFC的影响太深了,而没有看到事情的本质。 首先纠正所谓“静态连接就是把需要的库函数放进你的exe之中”的说法。在真实世界中,有三个概念:Use static libary, static linked DLL, dynamic linked DLL. 多转载 2007-12-26 10:07:00 · 1200 阅读 · 0 评论 -
VC显示链接Dll的检查
最近做程序需要使用LoadLibrary的方式加载动态库,步骤如下: 1. 使用LoadLibrary加载动态库。(遇到一个问题,见补充说明)2. 然后使用GetProcAddress函数,获取动态库中的导出函数的地址。 显式链接到 DLL 的进程调用 GetProcAddress 来获取 DLL 导出函数的地址。使用返回的函数指针调用 DLL 函数。GetProcAddr原创 2007-12-26 10:12:00 · 1276 阅读 · 0 评论 -
静态库编译和连接遇到的奇怪问题
在编译静态库(lib)时,遇到过的三种问题:1, 如果没有正确包含lib文件的路径,会提示无法打开静态库。2, error LNK 2001: 有可能是路径问题,或者是头文件与lib库不对应,或者是lib文件有问题。3, error LNK 2005: 这个错误是微软设计错误,因此如果遇到这个错误,我们只能躲过这个链接错误。具体的办法就是将那个提示出错的库放到另外一个库的前面。另原创 2007-12-25 20:19:00 · 1785 阅读 · 0 评论 -
用VC6.0制作unicode编码的dll
VC6.0默认编码格式是ANSI,在网上查到的设置成Unicode编码格式的方法分为两步:1. 将_MBCS宏改成_UNICODE,UNICODE2. 设置程序的入口点为wWinMainCRTStartup。于是在做unicode编码的dll时也采用上述方法,结果使用该动态库的Unicode程序一运行就自动退出。在网上查找终于找到原因: 如果.exe程序使用Unicode编码原创 2007-12-26 10:11:00 · 2353 阅读 · 1 评论