我不知道如何做到以下几点:
现在我想要另一个项目,类似于第二个项目而不使用头文件和lib文件。
这可能吗?我读到你的任何地方都需要dll + lib + h或dll + h。如果你知道你是否知道接口,那么DLL文件就足够了吗?
顺便说一句,“使用DLL”我的意思是,使用DLL中定义的类和函数。
答案 0 :(得分:4)
如果你只有简单的“extern C”功能,这是可能的。如果是这种情况,方法可能是使用LoadLibrary
加载dll,然后使用GetProcAddress
导入每个函数,当然您需要知道函数签名以创建正确声明的函数指针。每个相反的使用类几乎是不可能的。
答案 1 :(得分:0)
如果你的DLL包含类,很有可能它是一个COM组件。
如果是这种情况,则#import指令(您使用#include)会构建一些包含接口详细信息的临时包含文件。您应该使用COM来访问您的对象。
否则,如果你有一个带有C ++类的'普通'DLL,你可以使用链接器访问导出的符号:指示它转储地图(参见here),以了解受损的名称。但我不认为手动构建界面是可能的......