社区
C++ 语言
帖子详情
关于DLL导出函数的问题
WilliamJ
2006-04-19 10:55:04
我看到某个库有一个抽象类,类成员函数全是纯虚的,但是这些函数前面没加类似 dll_export的导出修饰符,却可以在加载DLL后调用这些函数,请问这是怎么实现的?
...全文
230
10
打赏
收藏
关于DLL导出函数的问题
我看到某个库有一个抽象类,类成员函数全是纯虚的,但是这些函数前面没加类似 dll_export的导出修饰符,却可以在加载DLL后调用这些函数,请问这是怎么实现的?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Johnny_de
2006-04-21
打赏
举报
回复
干吗不给我分!
WilliamJ
2006-04-20
打赏
举报
回复
谢谢大家!
的确是有该类的头文件,并且该类和成员函数都没dll导出符.
这我就不懂了,只有头文件,没有声明导出,那么客户的程序怎么找到dll中相应的成员函数呢?
是怎么个原理啊?还是这些成员函数的实现代码都在dll对应的.lib文件中,而不在dll中?
JohnTitor(贱畜)说:" 在加载了dll后,客户端肯定会调用该dll的一个导出函数来获得该抽象类的一个子类实例的指针,然后通过该指针,就可以调用那些头文件中定义的虚函数了",这句话我不是太明白,能否给一个短的实例代码?
healer_kx
2006-04-20
打赏
举报
回复
是的,这个和COM很像了。
虚接口是不用导出的。
相反,你在这个接口内有函数实现的话,你的客户程序调用这个函数,如果没有导出,就链接不上了。
Johnny_de
2006-04-20
打赏
举报
回复
我比较赞同sankt(黄景天) ( ) 信誉:110 的看法,这和COM原理是一样的。
逸学堂
2006-04-20
打赏
举报
回复
dll本身不可能导出纯虚函数,lz看看是否有包含这个dll中这个类的头文件。
或者如同sankt(黄景天)说的在.def文件中指明了导出类。
sankt
2006-04-20
打赏
举报
回复
也有可能是在.def文件指明了导出类
WilliamJ
2006-04-20
打赏
举报
回复
太谢谢 这位仁兄了:
JohnTitor(贱畜) ( ) 信誉:100 2006-04-20 14:13:00 得分: 0
解开了我所有疑问,给分,给分喽.
JohnTitor
2006-04-20
打赏
举报
回复
比如你头文件中的抽象类为IBase,那么dll可能会导出一个函数IBase* CreateInstance(),
该函数在dll中创建一个IBase派生类的对象,并且返回该对象的指针给你。你在客户端中因为有
IBase类的头文件,所以可以定义一个IBase的指针,如IBase* pInst;所以可以通过
调用pInst = CreateInstance()来获得dll中IBase派生类的对象的地址,而后通过pInst来
调用那些头文件中的虚函数,而又因为这些都是虚函数,所以实际调用的是dll中的IBase派生类
所重写的虚函数。
JohnTitor
2006-04-19
打赏
举报
回复
类成员函数全是纯虚的,没有实现代码,就不需要导出了,只需要有这个类的头文件就可以使用了。这和com的接口是一样的,在加载了dll后,客户端肯定会调用该dll的一个导出函数来获得该抽象类的一个子类实例的指针,然后通过该指针,就可以调用那些头文件中定义的虚函数了
llf_hust
2006-04-19
打赏
举报
回复
可能别人事导出的整个类吧
几个图像缩放算法的比较
几个图像缩放算法的比较前段时间由于项目的需求,需要实现图像的缩放功能,期间查找了不少关于图像缩放算法的资料,现把自己的心得整理一下。由于研究生期间没有选修过图像处理方面的课程,所以对图像缩放的原理可谓一窍不通,当时开始编写代码的时候简直就是一头雾水。而且网上虽然介绍图像处理的代码很多,但涉及图像缩放的代码却很少,因为很多软件都直接使用了windows的GDI
函数
库的API
函数
:StretchBlt
几个算法比较
多种机器学习算法模型、策略、算法比较图
几个比较妙的算法
计算32位整数二进制表示中含有1的个数:#include #include static int count1s(int /*32位整型数*/);int main(void){ int data; int count; printf("请输入整型数:"); scanf("%d", &data);
关于推荐算法工程师大家比较关注的几个
问题
今天在《推荐系统开发实战》的读者群里聊天,在探讨技术
问题
的时候发现也有朋友对一些非技术的
问题
比较感兴趣,这里进行总结和分享,希望能够帮助到看这篇文章的人。 欢迎加我的微信进行技术交流,非技术的人生思考
问题
也可以进行探讨。我的微信号如下图 以下
问题
,随机排序,不分先后! Q、推荐算法工程师的工资待遇怎么样 A:这个
问题
真的是很直接呀,当然可以理解,毕竟我们工作就是为了赚钱,为了生活。推荐算法工程师和算法工程师的待遇基本差不多,不过不同地方、不同级别的推荐算法工程师待遇肯定是不一样,比如一线的北上广深
整理几个比较好的算法(一)
以下资料均来自 bilibili的韩顺平老师 1.排序算法 ①希尔排序 基本思想:希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含 的关键词越来越多, 当增量减至 1 时,整个文件恰被分成一组,算法便终止 package sort; import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Date; /** * @Author hecheng * @Date
C++ 语言
65,213
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章