社区
C++ 语言
帖子详情
求加载DLL的简单方法
Greg_han
2011-07-19 11:20:13
我制作一个test.dll文件。在C#下很容易加载。可是在网上看了一下关于C++加载dll的方法,真复杂,要写一大堆导出指令,还要有头文件,很烦人。有没有好的简单方法,只要几条语句就可以完成加载。就像C# 那样,先选择文件路径,在用 using test.dll
...全文
1320
40
打赏
收藏
求加载DLL的简单方法
我制作一个test.dll文件。在C#下很容易加载。可是在网上看了一下关于C++加载dll的方法,真复杂,要写一大堆导出指令,还要有头文件,很烦人。有没有好的简单方法,只要几条语句就可以完成加载。就像C# 那样,先选择文件路径,在用 using test.dll
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
40 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Greg_han
2011-11-08
打赏
举报
回复
如何导出 类?
deping_chen
2011-07-25
打赏
举报
回复
C++生成和使用DLL不麻烦啊,这都嫌麻烦,编程中比这麻烦的太多了。
cppgp
2011-07-25
打赏
举报
回复
编译时指定.lib文件,不用在代码里加载DLL了,系统在需要时候自动加载。
qjzl2008
2011-07-25
打赏
举报
回复
动态加载也不麻烦,,,就那么几行代码就好啦
lanzhengpeng2
2011-07-21
打赏
举报
回复
[Quote=引用楼主 greg_han 的回复:]
我制作一个test.dll文件。在C#下很容易加载。可是在网上看了一下关于C++加载dll的方法,真复杂,要写一大堆导出指令,还要有头文件,很烦人。有没有好的简单方法,只要几条语句就可以完成加载。就像C# 那样,先选择文件路径,在用 using test.dll
[/Quote]
您呐,还是别做程序了!
不对,是什么都不要做,回家当猪一样的躺床上就行了.
samyou
2011-07-21
打赏
举报
回复
静态加载就可以了
zrnning
2011-07-20
打赏
举报
回复
学习了
shaotine_wu
2011-07-19
打赏
举报
回复
C++加载dll不麻烦的,动态加载就1楼的两个函数,要是LZ不愿意写,就直接用静态加载,一句代码都不要,操作起来也就两三步
nightkids_008
2011-07-19
打赏
举报
回复
[Quote=引用 1 楼 dizuo 的回复:]
g_RF = LoadLibrary( "NetDevRF.dll" );
if (g_RF==0)
return false;
SetRFSB = (SETRFSB)GetProcAddress(g_RF, "SetRFSB");
[/Quote]
这个算动态里最简单的了
wtbike
2011-07-19
打赏
举报
回复
要简单的话,那就只能用静态加载了。
包含一下对应的头文件,然后引用相关的lib
珍惜生命远离CPP
2011-07-19
打赏
举报
回复
静态加载的话连代码都不用写....
ryfdizuo
2011-07-19
打赏
举报
回复
这两个函数就够了。
ryfdizuo
2011-07-19
打赏
举报
回复
g_RF = LoadLibrary( "NetDevRF.dll" );
if (g_RF==0)
return false;
SetRFSB = (SETRFSB)GetProcAddress(g_RF, "SetRFSB");
Greg_han
2011-07-19
打赏
举报
回复
我的静态库构建好啦,在控制台的main函数下测试没问题,可是在窗体下的button事件函数中调用就报错:
错误 1 error LNK2028: 无法解析的标记(0A000015) "public: __clrcall LicenseFile::~LicenseFile(void)" (??1LicenseFile@@$$FQAM@XZ),该标记在函数 "private: void __clrcall ShowGenerator::Form1::btnGenerator_Click(class System::Object ^,class System::EventArgs ^)" (?btnGenerator_Click@Form1@ShowGenerator@@$$FA$AAMXP$AAVObject@System@@P$AAVEventArgs@4@@Z) 中被引用 ShowGenerator.obj
请问这是怎么回事?
Louistao
2011-07-19
打赏
举报
回复
工具->选项->项目和解决方案->VC++目录
库文件
Greg_han
2011-07-19
打赏
举报
回复
我是通过两条语句
#include "abc.h"
#pragma comment(lib,"libact.lib")
连接静态库的。
不使用这两句,我真的连不上静态库,你们说可以不写代码就行,请问如何设置vs2008的项目属性?
xunxun
2011-07-19
打赏
举报
回复
[Quote=引用 25 楼 loaden 的回复:]
引用 24 楼 xunxun1982 的回复:
引用 23 楼 loaden 的回复:
http://sourceforge.net/apps/trac/mingw-w64/wiki/gendef
找到介绍了。
不知道能否用于VC?
可以使用。
什么时候编译个MinGW64版本?
http://code.google.com/p/pcxprj/
[/Quote]
我的就是使用的MinGW64 CRT啊,可能没写清楚吧
我里面已经包含gendef
shaotine_wu
2011-07-19
打赏
举报
回复
没有LIB写个def文件就可以了
老邓
2011-07-19
打赏
举报
回复
[Quote=引用 24 楼 xunxun1982 的回复:]
引用 23 楼 loaden 的回复:
http://sourceforge.net/apps/trac/mingw-w64/wiki/gendef
找到介绍了。
不知道能否用于VC?
可以使用。
[/Quote]
什么时候编译个MinGW64版本?
http://code.google.com/p/pcxprj/
xunxun
2011-07-19
打赏
举报
回复
[Quote=引用 23 楼 loaden 的回复:]
http://sourceforge.net/apps/trac/mingw-w64/wiki/gendef
找到介绍了。
不知道能否用于VC?
[/Quote]
可以使用。
加载更多回复(17)
VC++动态
加载
DLL
例子
对话框模式下动态
加载
DLL
的
简单
例子:
DLL
为已经创建好的. VC++动态
加载
DLL
例子
内存
加载
动态库(
dll
)
用MemoryMoudle的类,演示内存
加载
dll
。测试用的
dll
是我自己写的,里面只有一个函数add,功能是
求
两个数之和。演示程序里button1是
加载
动态库,button2是
求
1+2的和。非常
简单
最
简单
的插件示例
最
简单
的一个插件机制的示例工程。通过动态
加载
dll
完成插件工作。
c++ 动态
加载
DLL
和静态
加载
DLL
以及
DLL
的编写
// 下列 ifdef 块是创建使从
DLL
导出更
简单
的 // 宏的标准
方法
。此
DLL
中的所有文件都是用命令行上定义的 MY
DLL
_EXPORTS // 符号编译的。在使用此
DLL
的 // 任何其他项目上不应定义此符号。这样,源文件中包含此...
VS2017
DLL
动态库使用教程【六】动态
加载
DLL
之前我们都是用的是自动
加载
,他是在exe运行启动时,就
加载
dll
。 动态
加载
,在编译的时候不指定
dll
,根据代码需要时调用LoadLibrary来
加载
dll
。 而且动态
加载
可以根据程序需时卸载
dll
,自动
加载
只能程序结束卸载...
C++ 语言
64,637
社区成员
250,559
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章