dll如何导出类

owlcity 2010-01-27 10:32:44
//dll---
class myclass
{
public:
myclass();
};
//exe-

myclass aa=new myclass();

如何才能在exe中能像上面一样创建新对象,就是,怎么把dll中的类导出来。
还有上面的代码可行吗?

简单点:就是在dll中定义一个类,在应用程序中如何使用这个类。
导出了类后,是不是可以直接调用对象。方法。
...全文
265 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
柯本 2010-01-27
  • 打赏
  • 举报
回复
class是可以导出的,但一般没人这样做。
dll目的一般是为其它程序(其它编译器或语言)提供通用的接口或实现,或共享一些函数。而不同编译器(即使是同一语言)生成类的内部结构会不同。所以带类的DLL只能用于同一编译器
你可以看一下我以前回过的贴:
http://topic.csdn.net/t/20060710/15/4871016.html
如果是动态类(如你写的myclass *aa=new myclass();),还要考虑内存的申请、释放问题
ok1411 2010-01-27
  • 打赏
  • 举报
回复
嗯,需要通过接口函数去调用,DLL里面的全局变量在外面的exe里面是不能直接访问的
buding79 2010-01-27
  • 打赏
  • 举报
回复
我感觉这个需要二次封装。
就是说,有初始化、释放函数。
初始化的时候,创建类,释放的时候,销毁类。
调用的方法,什么的,都进行二次封装。
Harryfin 2010-01-27
  • 打赏
  • 举报
回复
想封装类,建议改用BPL
  • 打赏
  • 举报
回复
写一个公共的类定义/声明单元,DLL、EXE都引用它。
regersubadm 2010-01-27
  • 打赏
  • 举报
回复
一般来说是用dll暴露一个接口,调用这个接口去创建一个类的对象,然后再接操作这个对象,就是要注意调用约定、参数类型等问题。
要直接在dll中封装类也是可以的,不过就是有楼上说的那些问题。

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧