静态连接库在VC中如何制作,有如何调用?

匪六哥 2004-12-14 09:39:12
静态连接库是干什么的,和动态连接库有什么区别?我想作一个静态连接库并调用,可是书和网上都很少介绍,不知该如何着手?请赐教!
...全文
275 9 打赏 收藏 举报
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
匪六哥 2004-12-15
問題自己解決,現將完整步驟奉獻如下,和大家共勉
(1)創建win32 Static Library;
(2)定義端口函數,基本和DLL一樣,不過不要在def中定義;
(3)將生成的lib和對應的.h放入API程序目錄中;
(4)在project-〉setting-〉link中添加lib;
(5)在程序中#include “*.h”
(6)引用接口函數
  • 打赏
  • 举报
回复
pleasehelpme 2004-12-14
抢分:)
调用的时候包含头文件,再加上#pragma comment(lib,"xxx.lib")
  • 打赏
  • 举报
回复
kugou123 2004-12-14
VC工程中有一项是专门建立win32 static library的,这就是静态库,编译的时候生成.lib库文件,没有DLL文件。
  • 打赏
  • 举报
回复
Kudeet 2004-12-14
动态连接,静态连接,都是对动态连接库(DLL)说的,
静态连接库不存在动态连接,静态连接的问题

我想你问的区别应该是DLL的静态连接和动态连接的区别吧。

动态链接库的静态链接方式就是将产生的lib文件加到project中一起编译,这样以后使用dll中的函数的时候就不需要GetProcAddress将该函数的地址导出了。因为lib文件中已经包含了所有export函数和变量的信息,但是这种方式如果dll文件的导出内容改变了,整个project必须重新编译才行。而不象动态链接那样无需重编。

静态链接,和动态链接是相对的,在可执行程序内包含了所访问的函数的代码,可执行程序占用的空间较大;但运行时,不需要其他模块支持,从而速度相对较快。动态链接的可执行程序中不包含动态访问的函数代码,仅仅包含对它的参考,运行时需要其他模块(DLL)的支持,速度相对较慢。
  • 打赏
  • 举报
回复
Kudeet 2004-12-14
静态连接库是指WIN32 Static Library,他只是生成一个.lib文件,没有DLL文件,在appwizard的第一步最后一项就是创建一个静态库。

  • 打赏
  • 举报
回复
mu_gong 2004-12-14
倒.....静态联结库,类似DLL的就是啊,网上资料很多啊,一把一把的

比如简单的说:
用C语言写的DLL,其输出的函数一
般用的是标准C接口,并能被非MFC或MFC编写的应用程序所调用
都是从网上找的,自己去看吧
  • 打赏
  • 举报
回复
broown 2004-12-14
动态链接库,动态载入内存。多次连接,只存在一份代码。
静态链接库,再编译的时候静态链接,多次连接,产生多份代码。
  • 打赏
  • 举报
回复
匪六哥 2004-12-14
最好有现成的例子
  • 打赏
  • 举报
回复
发帖
VC/MFC

1.6w+

社区成员

VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
帖子事件
创建了帖子
2004-12-14 09:39
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……