前言:
DLL 是个很久远的文件格式,以至于它只支持导出函数(请忽略 .net 的 DLL)。至于导出 class,也是由于编译系统的支持才勉勉强强能进行,只能静态加载,实际上对于DLL文件来说它导出的还是函数。——以上,个人的一点浅显理解。
问题:
有没有存在一种好的方式,让DLL能够被动态加载,并且能够方便地得到里面的 C++ class 信息?
备选:
1、别想了,老老实实地用吧,还是导出纯C函数= =
2、大胆的导出 class 吧,如果动态加载,自己去拼那些编译后名字吧。。
3、COM 形式?可是,要注册到系统中去,凭空多了系统注册表依赖
4、还有吗?
5、甚至可以抛开DLL,有没有类似的一种方式,可用于二进制代码的模块划分以及闭源的代码重用?
(至于跨平台啥的先不考虑吧,暂定Windows平台下吧)
请不吝指教~
posted on 2010-12-18 22:35
溪流 阅读(2225)
评论(15) 编辑 收藏 引用 所属分类:
C++ 、
Windows