为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > C#调用DLL

C#调用DLL

2013-01-10 3页 doc 24KB 26阅读

用户头像

is_326155

暂无简介

举报
C#调用DLLC#工程调用外部的DLL文件 2011-09-13 22:46:55 标签:C# DllImport 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://allenfu.blog.51cto.com/3555219/663736 在.NET编程中,我们会经常碰到要调用外部的DLL文件。首先,动态链接库文件(DLL)的格式其实和EXE文件相同,都是可执行的,不同的是EXE可单独运行,而DLL往往是供其他程序动态的调用,它不主动的执行任何代码。其次,链接...
C#调用DLL
C#工程调用外部的DLL文件 2011-09-13 22:46:55 标签:C# DllImport 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://allenfu.blog.51cto.com/3555219/663736 在.NET编程中,我们会经常碰到要调用外部的DLL文件。首先,动态链接库文件(DLL)的其实和EXE文件相同,都是可执行的,不同的是EXE可单独运行,而DLL往往是供其他程序动态的调用,它不主动的执行任何代码。其次,链接库可分为两种:静态链接库和动态链接库。 静态链接库是在程序编译的时候静态的链接到程序中去的,这样编译完后文件体积变大了。 动态链接库是程序在运行的时候动态的把DLL中的函数链接到程序中执行,这样就不用在编译的时候链接文件了,因此节省了文件大小。 在.NET平台下C#如何调用DLL文件呢?首先我们构造一个自己的DLL文件。假设,我们已经有一个.h文件和.lib文件。 .h文件: int add(int x,int y); int minux(int x,int y); 构造DLL文件: 1.新建一个VC++ Class Library工程 2.添加2个头文件math.h,imath.h和cpp文件imath.cpp math.h: int add(int x,int y); int minus(int x,int y); imath.h: extern "C" {         __declspec(dllexport) int Add(int x,int y);         __declspec(dllexport) int Minus(int x,int y); } imath.cpp: int Add(int x,int y) {         return add(x,y); } int Minus(int x,int y) {        return minus(x,y); } 编译生成DLL文件imath.dll 3.在C#工程中调用imath.dll中的Add,Minus C#调用外部DLL文件,需要使用using System.Runtime.InteropServices;导入命名空间 接着定义要调用到的函数: [DllImport("imath.dll",EntryPoint="Add")] private static extern int Add(int x,int y); [DllImport("imath.dll",EntryPoint="Minus")] private static extern int Minus(int x,int y); 至此以后就可以在需要调用Add和Minus的地方直接调用Add和Minus了。
/
本文档为【C#调用DLL】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索