现在要使用动态链接库中的函数,有dll文件,lib文件,还有.h头文件。
在程序中使用时,我#include了头文件,然后在link属性input里加入了lib文件,在程序中动态调用dll,使用LoadLibrary和GetProcAddress来调用dll里的函数。 请问这样使用对吗?
我总感觉有些不对劲,因为我编译完成后,把生成的exe文件拿出来用,没跟dll,lib等文件放在一起,就只是单独使用,也没有提示什么错误。这是怎么回事呢?
还有想问,有了dll动态链接库,为什么还要有lib静态链接库?这两个文件具体的用途是什么呢?
先谢谢大家指点了...
在程序中使用时,我#include了头文件,然后在link属性input里加入了lib文件,在程序中动态调用dll,使用LoadLibrary和GetProcAddress来调用dll里的函数。 请问这样使用对吗?
我总感觉有些不对劲,因为我编译完成后,把生成的exe文件拿出来用,没跟dll,lib等文件放在一起,就只是单独使用,也没有提示什么错误。这是怎么回事呢?
还有想问,有了dll动态链接库,为什么还要有lib静态链接库?这两个文件具体的用途是什么呢?
先谢谢大家指点了...
解决方案 »
- 请教boost::asio连接超时的问题
- 关于线程运行的问题
- bug还是?
- 我想仿真玻璃被子弹击碎的过程,应该从哪些书学起?偏微分方程?材料学?
- PEDIY被什么攻击了
- ctime取得的时间,如何转换为"2006-11-12 12:34:33"
- 哪位知道标准库(STL)中的sort用的是什么排序算法?
- 我在DLG里嵌入了个子DLG,可是子DLG总有边框,能看出来,怎么让边框没有,让子DLG与主DLG融为一体?
- 请教各位大侠一个简单的InstallShield问题,小女子这厢有礼了
- 高分求解,Shell Menu的实现,内详
- 非常紧急的数据库操作问题!!!!!!!!!
- 请问在VC++里面是怎样实现这些界面的
那lib中又是什么内容呢?
没有Lib的话,通过GetProcAddress函数不也可以调用dll里的函数吗?
如果有h文件和lib文件,可以用隐式调用,直接使用DLL中函数名和类名,不需要LoadLibrary、GetProcAddress、FreeLibrary,当然用这些函数也不会有错。
还有就是,这样产生的exe文件,是否一定需要和lib,dll放在一起呢?