社区
工具平台和程序库
帖子详情
多个类做成一个dll, 但只导出其中一个类,怎么做啊?
sin816
2009-04-26 11:53:54
struct a; (a.h)
class b; (b.h,b.cpp)
class c; (c.h c.cpp)
c中的成员变量为a和b类型的,c中的函数调用b中的函数,现在只能导出类c,这个dll怎么做呢?
如果a,b普通形式声明,class _declspec(dllexport) c{...}; build后会出现警告说b没有提供dll接口
...全文
102
7
打赏
收藏
多个类做成一个dll, 但只导出其中一个类,怎么做啊?
struct a; (a.h) class b; (b.h,b.cpp) class c; (c.h c.cpp) c中的成员变量为a和b类型的,c中的函数调用b中的函数,现在只能导出类c,这个dll怎么做呢? 如果a,b普通形式声明,class _declspec(dllexport) c{...}; build后会出现警告说b没有提供dll接口
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mengde007
2009-04-26
打赏
举报
回复
是不是b没有定义?
mengde007
2009-04-26
打赏
举报
回复
http://topic.csdn.net/u/20090426/20/58c00070-fa79-4f0e-aa25-bf210b2b1870.html
那边的已经搞定了;
HelloDan
2009-04-26
打赏
举报
回复
那你可以不导出B类,可以只导出类B中的函数的。
pathuang68
2009-04-26
打赏
举报
回复
顶一下
gongqing82356722
2009-04-26
打赏
举报
回复
成员变量有没有初始化啊。。。。
猫已经找不回了
2009-04-26
打赏
举报
回复
TDump -ee dll文件 查看导出表就知道了。
baiwei156
2009-04-26
打赏
举报
回复
没有声明接口函数
如:
将main函数改名,并用
extern "C" void __declspec(dllexport) mainout()
~~~~~~~~~ ^^^^ ~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~
函数栈方式按照C语法(可选)返回值 声明导出 你的函数名称和参数。
project->settings->C++->preprocessor Definitions:
"_CONSOLE"替换为"_DLL"
project->settings->Link->object/library modules:
"/subsystem/console"替换为 "/dll"
同理,你如果是'_windows',replace with '_dll'
if you are '/subsystem/windows' replace with '/dll'
DLL
导出
函数和
类
本文深入讲解了动态链接库(
DLL
)
导出
函数的__declspec(
dll
export)方法,C++
类
的
导出
策略,以及推荐的抽象接口方式。涵盖了隐式加载与显式加载的区别,以及如何通过.def文件管理和C++
类
的正确
导出
,以实现高效、兼容的跨模块调用。
Dll
导出
C++
类
的3种方式
文章探讨了在C++中
导出
类
到动态链接库(
DLL
)时遇到的问题,如
DLL
地狱,并提出了三种解决方案:1)纯C语言方式,2)直接
导出
C++
类
,3)使用抽象接口。每种方法的优缺点被详细分析,强调了抽象接口方式在模块化和跨编译器兼容性方面的优势。此外,文章还提醒了
DLL
中不应直接创建对象和访问成员变量,以及如何利用
DLL
Main检测加载和卸载。
DLL
中
导出
类
的成熟方法
本文围绕
DLL
导出
类
展开,先介绍动态链接库基础知识,包括编写方法、进程/线程加载通知、静态与动态调用方法。接着阐述COM技术,用于解决
dll
接口在C++中的版本兼容问题。最后给出借鉴COM技术的
DLL
导出
类
成熟方法,可避免
DLL
地狱问题,使工程结构更清晰。
c++
DLL
导出
类
和
导出
函数
本文详细介绍了在
DLL
中如何通过__declspec(
dll
export)
导出
函数和
类
供外部程序调用,包括正确的.h文件写法及错误示例,如LNK2019错误解析。同时,提供了完整的测试代码示例。
C++
DLL
类
导出
和使用示例教程
本文介绍了在C++中创建动态链接库(
DLL
)并
导出
类
供其他程序调用的方法。讲解了
DLL
基本概念、__declspec(
dll
export)关键字使用,展示了MyClass
类
和CreateMyClass函数的设计、实现与测试,还说明了在控制台程序中加载和使用
DLL
,以及LoadLibrary和GetProcAddress函数的应用。
工具平台和程序库
24,851
社区成员
27,330
社区内容
发帖
与我相关
我的任务
工具平台和程序库
C/C++ 工具平台和程序库
复制链接
扫一扫
分享
社区描述
C/C++ 工具平台和程序库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章