如何在VC ++ 6.0项目中使用DLL而不需要其.h和.lib文件?

时间:2011-12-20 16:45:02

标签: c++ visual-studio dll

我不知道如何做到以下几点:

  • 我正在使用MS Visual C ++ 6.0
  • 我有一个可编译的Win32 DLL项目。
  • 我有另一个项目,这次是使用的Win32控制台项目 DLL通过包含它的头文件并链接.lib文件 DLL。

现在我想要另一个项目,类似于第二个项目而不使用头文件和lib文件。

这可能吗?我读到你的任何地方都需要dll + lib + h或dll + h。如果你知道你是否知道接口,那么DLL文件就足够了吗?

顺便说一句,“使用DLL”我的意思是,使用DLL中定义的类和函数。

2 个答案:

答案 0 :(得分:4)

如果你只有简单的“extern C”功能,这是可能的。如果是这种情况,方法可能是使用LoadLibrary加载dll,然后使用GetProcAddress导入每个函数,当然您需要知道函数签名以创建正确声明的函数指针。每个相反的使用类几乎是不可能的。

答案 1 :(得分:0)

如果你的DLL包含类,很有可能它是一个COM组件。

如果是这种情况,则#import指令(您使用#include)会构建一些包含接口详细信息的临时包含文件。您应该使用COM来访问您的对象。

否则,如果你有一个带有C ++类的'普通'DLL,你可以使用链接器访问导出的符号:指示它转储地图(参见here),以了解受损的名称。但我不认为手动构建界面是可能的......