返回首页

大家好,

我2005年在VC编写的应用程序,我创建一个DLL(出口单一功能)

我的DLL中的代码如下:


#include <stdio.h>

#include <atlstr.h>



 

extern "C"

{

	__declspec(dllexport) void DisplayHelloFromDLL()

	{

		CString str;

		printf ("Hello from DLL !\n");

	}

}


概率是我想从我的DLL导入生成的LIB全无导入的功能,我不知道如何做,VC2005。

PLZ有人帮我或一个线索guive我。 THX

回答

评论会员:游客 时间:2012/02/07
|约亨・阿恩特:这是由加载库,获取所需的功能,不会忽略,并呼吁他们(见GetProcAddress的[imgsrc=]在MSDN):codeprelang="c++"spanclass="code-keyword"typedef/spanVOID(CALLBACK*LPFN_DHFDLL)();HINSTANCEhInst=::LoadLibrary(_T(spanclass="code-string""/spanspanclass="code-string"MyLib.dll"/span));spanclass="code-keyword"if/span(NULL!=hInst){LPFN_DHFDLLpDisplayHello=(LPFN_DHFDLL)::GetProcAddress(hInst,spanclass="code-string""/spanspanclass="code-string"DisplayHelloFromDLL"/span);spanclass="code-keyword"if/span(pDisplayHello)pDisplayHello();::FreeLibrary(hInst);}/pre/code
Lakamraju拉古拉姆
评论会员:游客 时间:2012/02/07
您好,检查。当你说你不使用导入库,我以为你是不产生。所以没有需要使用__declspec(dllexport)的导出功能,而您可以使用DEF文件:DefFile.def================图书馆的"MyDLL"出口DisplayHelloFromDLL================现在来访问此。所有我们必须做的是我们的EXE的地址空间映射到,"MyDLL"。为此,我们可以使用使用"LoadLibrary的"。检查:{的C2}
迈赫迪吴拉姆:谢谢。这正是我一直在寻找。我发现很多教程,但大多使用所产生的LIB,我没有发现不适合的堂妹,每次我改变我不得不重新编译项目,使用该DLL的DLL。

再次感谢你。你救了我大量的时间
评论会员:游客 时间:2012/02/07
Schehaider_Aymen:您好,首先声明一个StringBuilder的变量。附加任何你想要发送在stringbuilder.make一个功能的sendmail与4个这样的参数然后得到所有正确的信息服务器,使用以下功能来发送邮件,只需复制并粘贴它会奏效。{的C4}通过正确的参数功能