subject_23192.htm

来自「一些关于vc的问答」· HTM 代码 · 共 24 行

HTM
24
字号
<p>
序号:23192 发表者:崔明亮 发表日期:2002-12-02 13:44:21
<br>主题:一个关于动态链接库的问题
<br>内容:我做了一个动态链接库,代码如下:<BR>#include "stdafx.h"<BR><BR>int __declspec(dllexport) Add(int i);<BR><BR>BOOL APIENTRY DllMain( HANDLE hModule, <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DWORD&nbsp;&nbsp;ul_reason_for_call, <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LPVOID lpReserved<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;return TRUE;<BR>}<BR><BR>int Add(int i)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;return (i+10);<BR>}<BR><BR>在另一个函数中调用这个动态链接库,代码如下:<BR>void CTestdllDlg::OnButton1() <BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;// TODO: Add your control notification handler code here<BR>&nbsp;&nbsp;&nbsp;&nbsp;HMODULE hDll = ::LoadLibrary("dll1.dll"); <BR>&nbsp;&nbsp;&nbsp;&nbsp;ASSERT(hDll);<BR>&nbsp;&nbsp;&nbsp;&nbsp;if (!hDll)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;typedef int (*pF)(int i);<BR>&nbsp;&nbsp;&nbsp;&nbsp;pF pAdd;<BR>&nbsp;&nbsp;&nbsp;&nbsp;pAdd = (pF) ::GetProcAddress(hDll, "Add");<BR>}<BR><BR>但是执行到最后一句pAdd = (pF) ::GetProcAddress(hDll, "Add");结果为pAdd = 0x00000;<BR><BR>请问我的动态链接库封装,调用是否有问题,请赐教<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:未出手的飞刀 回复日期:2002-12-02 14:35:41
<br>内容:<BR>看不出来,<BR>如果有所有的代码还差不多。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:擎天柱 回复日期:2002-12-02 19:22:56
<br>内容:int __declspec(dllexport) Add(int i);<BR>更改为<BR>extern "C"<BR>&nbsp;&nbsp;&nbsp;&nbsp;int __declspec(dllexport) Add(int i);
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:小权 回复日期:2002-12-02 19:38:20
<br>内容:看一下你的dll所在的目录吧
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?