一个关于DLL的问题,请教一下各位

oyljerry 2004-07-15 04:43:01
如果我的project编译选项中,选择了CRT方式为MTD的方式,现在我想在程序中调用编译好的DLL,这样的话,怎么实现呢??谢谢
看了一下FAQ,有一篇文章《如何让自己写的DLL只允许静态链接》
不知,是不是这样的话,就可以编译一个静态连接的DLL,然后在我的project中就可以在CRT为MTD的方式下,调用这个DLL呢??
不知理解正不正确?
...全文
150 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
WolfChaseLion 2004-07-16
  • 打赏
  • 举报
回复
忘了一点,显示连接时需要把MYDll.LIB在PROJECT->SETTING->LINK->INPUT LIB中加上去.
WolfChaseLion 2004-07-16
  • 打赏
  • 举报
回复
"在我想在程序中调用编译好的DLL,这样的话,怎么实现呢?"
有2种方法:
一种是:1).把编译好的DLL和LIB文件COPY到你的可执行文件所在目录.
2).把DLL的导出函数的列表头文件#INCLUDE进来.其内容必然含有类似如下内容:
extern "C" __declspec(dllimport)BOOL WINAPI FilterDll_HookAllApps(BOOL fInstall,DWORD dwThreadID);
3).在你的SOURCE中就可以直接调用导出函数了
这种方法叫隐式连接.
另一种是:
1.用LoadLibrary("MYDll.Dll")
2.MyFuncType * pfn = (MyFuncType*)GetProcAddress("MyFunc");
3.pfn(nParam,lParm..)
这种方法叫显式连接.
kvls 2004-07-16
  • 打赏
  • 举报
回复
如何让自己写的DLL只允许静态链接
这个是什么意思?文章在什么地方
oyljerry 2004-07-16
  • 打赏
  • 举报
回复
你的文章表达的是我这个意思吗??
oyljerry 2004-07-16
  • 打赏
  • 举报
回复
你的意思就是所DLL的调用与我的编译器的code generation方式(MT还是MD)无关,不管那种方式,都可以采用显示或隐式的方法调用,是吧?
Micro_Sheng 2004-07-15
  • 打赏
  • 举报
回复
up一下

谢谢你支持我的贴子

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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