WINDOWS下DLL的链接库与静态库LIB有何异同?
解决方案 »
- 我用m_lstMain.SetItemState(0,LVIS_SELECTED,LVIS_SELECTED);怎么也选不中CListCtrl的行呢?
- 请问如何开启和关闭活动桌面?
- root分析之一:HOOK磁盘驱动
- 是Windows98的问题还是我编的程序内存、资源使用的问题呢?
- 如果list中有2种不同的文件类型(比分说一个是文件,一个是文件夹),那么我给它加上不同的图标(CImageList)应该怎样加?
- 不知这里为什么说没有初始化,怎样进行初始化呢?
- 动态创建了一个CComboBox,怎么设置它的下拉幅度?
- 从串口读取二进制文件,100分,急!!!分不够再加
- 如下宏定义 是如何替换的?
- 如何实现十六进制变量转换成十进制?,急
- 如何设置系统时间
- 求救:如何通过程序设置系统的时区,如把系统的时区设为GMT+8(北京,重庆、香港)
LIB的代码在链接的时候就和EXE文件链接到一起了,以后EXE运行的时候可以独立运行,而不需要LIB的支持
DLL的代码在链接的时候不会链接到EXE中,所以EXE运行的时候需要DLL的支持。
这种DLL调用方式在我看来和静态LIB没有多少区别。因为这样生成的Exe不能真的动态调用DLL中的导出函数,如果你的DLL后来更新了,则主程序也要重新编译,否则不能保证主程序能找到新DLL中的导出函数。
1 dll是代码的实现, 它采用动态链接方式.
2 lib有两种方式:
(1) 一种有实现代码, 这样它是采用静态连接.
(2)还有一种方式, 它是提供给dll中的一些连接信息(如函数地址). 这样应用
模块最终需要动态链接对应的dll库.
我是这样理解的
我以为动态连接库只能采用动态连接的方式,静态连接库则采用静态连接的方式连接!
可是做一应用程序,可以选择use MFC in share DLL,和use MFC in static Library 的方式,难道说mfc有静态连接库和动态连接库两个版本吗?