DLL相关问题

如何导入导出dll文件中的函数

1dll文件中函数(或变量)的声明

extern CVISION_API int ncvision;

extern "C" CVISION_API int _stdcall fncvision(void);

2)函数的实现

CVISION_API int ncvision=0;

// 这是导出函数的一个示例。

extern "C" CVISION_API int _stdcall fncvision(void)

{

   return 42;

}

3)以上两步是在你新建dll项目时,系统为你做好了的,你只要依照这个格式来写你自己的函数就可以了。

写好后,保存,编译一下,通过后,dll文件就算生成了,将.dll文件和.lib文件一同拷入到你的应用程序的debug目录下,就可在应用程序中使用了。

4)使用前要对函数进行导入(dll文件拷到debug目录下只能说明有这个dll

存在,但还要通过声明来说明这个dll与这个应用程序有关系)

下面是在你的应用程序中导入dll文件中的函数。

  [DllImport("cvision.dll", EntryPoint = "fncvision")]

     public static extern int fncvision();

5)直接在你的应用程序中想调用函数的地方直接调用函数即可。

 

如何调试DLL程序

思路:写个程序来调用你这个dll,就可以调试dll

具体实施方案:

做个EXE项目来调用这个DLL

1)把两个项目放在同一个workspace里面,将输出路径设置为同一目录(在项目属性——>常规中的“输出目录”中指定相同路径即可)

2)以DLL为启动项目,设置DLL的项目属性。具体办法:

vs2008 项目->属性->调试

命令:rundll32.exe ——>你编写的项目生成的exe文件名称

参数: DllLib.dll test() //空格前面是你编写的dll文件名称,空格后面test()是导出函数

工作目录:dll的生成目录

3)设断点,然后调试就可以了。

posted on 2009-07-14 21:13 碧云天 阅读(146) 评论(0)  编辑 收藏 引用 所属分类: c++基础——标准c++


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2009年6月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

导航

统计

常用链接

留言簿(1)

随笔分类

随笔档案

文章分类

文章档案

收藏夹

Emgu CV ——c#版的opencv

Help

搜索

最新评论

阅读排行榜

评论排行榜