CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C++ 语言

VC调用DLL问题

楼主cocoy(椰子丫丫)2005-04-03 23:32:37 在 C/C++ / C++ 语言 提问

在VC里编译成功了一个DLL,怎么在另一个程序里调用它. 问题点数:20、回复次数:9Top

1 楼chunhai12(小海)回复于 2005-04-03 23:45:57 得分 3

HMODULE   LoadLibrary(  
      LPCTSTR   lpFileName       //   file   name   of   module  
  );  
   
  例如  
   
  HINSTANCE   hLibrary;  
  hLibrary=LoadLibrary("mydll.dll");  
  //……  
  FreeLibrary(hLibrary);Top

2 楼healer_kx(甘草(楼主揭贴吧,我们这些上班灌水的也不容易))回复于 2005-04-04 08:11:21 得分 2

加入Lib和头文件,   把DLL放在EXE的目录。Top

3 楼zengwujun(月之海 为linux入门奋斗100天)回复于 2005-04-04 09:07:39 得分 5

下面通过例子介绍如何在动态链接库中定义函数、资源、和类以及如何在工程中使用动态链接库中已定义的函数、资源、  
   
  类。  
   
  一、   函数的定义和使用方法:  
   
    第一步:  
   
     运行AppWizard,定义项目名为mydll,选择MFC   AppWizard(dll),而不是MFC   AppWizards(exe)。  
   
    第二步:  
   
     在这个例子中,只有一个AppWizard屏幕出现,选择MFC扩展DLL(MFC   Extension   DLL   (using   shared   MFC   DLL),点击  
   
  FINISH生成工程。  
   
    第三步:  
   
     点击File中的New,选择C/C++   Header   File,File   Name中输入dll,点击OK,创建dll.h。输入extern   "C"   __declspec(dllexport)    
   
  int   fun(int   x1,int   x2,int   x3);   ,保存。  
   
    第四步:  
   
     点击File中的New,选择C++   Source   File,File   Name中输入dll,点击OK,创建dll.cpp。输入  
   
    #include   "stdafx.h"  
    #include   "dll.h"  
    extern   "C"   __declspec(dllexport)   int   fun(int   x1,int   x2,int   x3)  
     {  
      return   x1+x2+x3;  
     }  
   
    编译生成mydll.dll和mydll.lib。  
   
    第五步:  
   
    选择Project   中Add   To   Project   中的New   ,   重新生成一个工程,选择MFC   AppWizards(exe),项目名为mydlltest   ,   选择Single    
   
  Document   ,点击FINISH,生成一个新的工程。选择菜单中的Project   àSet   Active   Project   àmydlltest   ,将mydlltest设为当前活动工程  
   
  。  
   
    第六步:  
   
    拷贝…\mydll\debug\mydll.dll   到   ..\mydlltest\debug\下,拷贝…\mydll\debug\mydll.lib到…\mydlltest\目录下。  
   
    第七步:  
   
    在mydlltestView.cpp中的#endif下添加  
   
    extern   "C"   __declspec(dllimport)   int   fun(int   x1,int   x2,int   x3);  
   
    在void   CMydlltestView::OnDraw(CDC*   pDC)中添加代码如下:  
   
    void   CMydlltestView::OnDraw(CDC*   pDC)  
     {  
      CMydlltestDoc*   pDoc   =   GetDocument();  
      ASSERT_VALID(pDoc);  
      //   TODO:   add   draw   code   for   native   data   here  
      int   x=fun(1,2,3);  
      CString   str;  
      str.Format("%d",str);  
      pDC->TextOut(10,10,x);  
     }  
   
    第八步:  
   
    在WorkSpace中的mydlltest   files上点击右键,选择Add   files   to   Project   ,将mydll.dll添加到工程。  
  好了,我们的工作做完了,运行一下看看吧!  
   
  Top

4 楼oyljerry(【勇敢的心】→ ㊣提拉米苏√㊣)回复于 2005-04-04 10:41:22 得分 2

包含h和dll到project  
  然后LoadLibrary加载dll文件,GetProcAddress获得函数地址,调用函数Top

5 楼hxblvc(还是好好学吧...)回复于 2005-04-04 11:00:32 得分 2

 
  Top

6 楼liuduofu(天上不下雨,地上也不干!)回复于 2005-04-04 12:52:37 得分 2

如果已经生成了一个dll,那么直接在工程里的:Project下的settings里的Link下加入dll的*.lib.注意了,把动态库拷进你的工程目录下呀  
  Top

7 楼hardeggwang(硬蛋)回复于 2005-04-04 14:34:45 得分 2

如果要是在vb下生成的Activex   dll该怎么调用?Top

8 楼xxqqzz(田野春风)回复于 2005-04-04 17:13:34 得分 1

我只作过在dephi中调用C++的dllTop

9 楼wuyupu(wuyupu)回复于 2005-04-04 22:52:57 得分 1

loadlibrary     具体的可以看CSDNTop

相关问题

  • 关于调用vc的dll
  • 调用不了vc的dll
  • pb调用vc作的dll
  • pb调用vc写的dll
  • vb调用vc++的dll
  • delphi调用Vc Dll问题?
  • 调用vc dll的问题
  • vc调用vb的dll
  • vc调用vc的DLL出错??
  • VC中调用VB生成的DLL(java调用VB的DLL)

关键词

  • 函数
  • 选择
  • dll
  • mfc
  • debug
  • mydlltest
  • mydll
  • 点击
  • 调用
  • 工程

得分解答快速导航

  • 帖主:cocoy
  • chunhai12
  • healer_kx
  • zengwujun
  • oyljerry
  • hxblvc
  • liuduofu
  • hardeggwang
  • xxqqzz
  • wuyupu

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo