写一个dll,如何让调用者不使用lib文件 这样的动态库怎么写?(我提供接口文件)谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 跟有lib文件的动态库一样,只是让调用者采用LoadLibray的方式就可.还可以设置不生成lib文件. 调用的时候用LoadLibray就可以了吧 有一个DLL文件就可以了HINSTANCE hInstance;typedef char* (_stdcall STR_FUNC)(char*);STR_FUNC * pFunction;VERIFY(hInstance = ::LoadLibrary("cappfunction.dll"));//导入要调用的DLL文件 VERIFY(pFunction = (STR_FUNC*)::GetProcAddress(hInstance, "Delete"));//指向要调用的DLL库内的方法strRetrunMsg = (*pFunction)(msg);//执行方法VERIFY(FreeLibrary(hInstance));//释放资源 diudiuqqqq() 给出了满分的答案。其实简单来说1.定义一个资源句柄HINSTANCE hInst;2.装载dllhInst = LoadLibrary("YourDll.dll");3.校验if(NULL == hInst){AfxMessageBox("Dll load error!");}4.获取dll中的函数,这个就因人而异了比如:typedef BOOL* (PASCAL EXPORT* LPGetTime)();LPGetTime pFunc = (LPGetTime)GetProcAddress(m_hInst,"GetTime");其中,GetTime你必须写在那个dll的.def里面然后在那个dll的全局里面写上extern "C" BOOL* PASCAL EXPORT GetTime(){......}以后要用这个函数只要pFunc就好了 职能动态调用拉,或者用COM DLL,呵呵 确认及寻求解决办法 非管理员用户是否不能使用CREATFILE开启\\.\physicaldriver1类似的U盘? 怎么将dll合并到exe文件 初学 cppunit ,搭建框架遇到问题 我在 ATL 中调用 LoadLibrary 失败,为什么? 领悟!!!!人的进步思想 运行在套间线程中的COM对象,不需要进行同步处理,那么这样的COM对象是线程安全的还是不是线程安全的?? 不好意思,问一个暴弱的问题 关于js调用bho中的函数问题 大侠帮我看看出错语句,谢谢 急!!!!求助!!关于VC的classWizard!!! C/S结构问题,谢谢 如何选重某行文本
还可以设置不生成lib文件.
typedef char* (_stdcall STR_FUNC)(char*);
STR_FUNC * pFunction;VERIFY(hInstance = ::LoadLibrary("cappfunction.dll"));//导入要调用的DLL文件
VERIFY(pFunction = (STR_FUNC*)::GetProcAddress(hInstance, "Delete"));//指向要调用的DLL库内的方法strRetrunMsg = (*pFunction)(msg);//执行方法VERIFY(FreeLibrary(hInstance));//释放资源
其实简单来说
1.定义一个资源句柄
HINSTANCE hInst;
2.装载dll
hInst = LoadLibrary("YourDll.dll");
3.校验
if(NULL == hInst)
{
AfxMessageBox("Dll load error!");
}
4.获取dll中的函数,这个就因人而异了
比如:
typedef BOOL* (PASCAL EXPORT* LPGetTime)();
LPGetTime pFunc = (LPGetTime)GetProcAddress(m_hInst,"GetTime");
其中,GetTime你必须写在那个dll的.def里面
然后在那个dll的全局里面写上
extern "C" BOOL* PASCAL EXPORT GetTime()
{
......
}
以后要用这个函数只要pFunc就好了