C#中如何调用C的DLL文件,能否给出具体的方法,最好举个例子。非常感谢

如题所述

假设名为a.dll导出了函数int sum(int a, int b);
应这样调用:
HMODULE hLib = LoadLibrary("a.dll"); //加载a.dll,这里是假设a.dll与程序放在同一目录
typedef int (*funcSum)(int,int); // 定义函数指针
funcSum sum = (funcSum) GetProcAddress(hLib, "sum"); //获取函数地址
int ret = sum(1,2); //调用
FreeLibrary(hLib); //释放
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-12-21
[DLLImport("DLL文件名.dll")]
static extern 调用的函数声明 ;
如static extern int add(int x,int y);
第2个回答  2011-12-20

添加引用,然后在程序头using XXXXXXX

如何用C#调用C编写的dll
1、如果这是个用c#编写的dll文件,那么using DLL文件的命名空间,然后就可以调用命名空间中的类。2、如果是不是用c#编写的dll文件,那么就把dll放到合适位置(winform程序目录下,web程序bin文件夹下,system32文件夹下)。然后using System.Runtime.InteropServices;[DllImport("dll文件名.dll")]public s...

怎样在C#中调用DLL中的函数,最好有代码和详细说明
首先,应该在C#语言源程序中声明外部方法,其基本形式是:[DLLImport(“DLL文件”)]修饰符 extern 返回变量类型 方法名称 (参数列表)其中:DLL文件:包含定义外部方法的库文件。修饰符: 访问修饰符,除了abstract以外在声明方法时可以使用的修饰符。返回变量类型:在DLL文件中你需调用方法的返回变量类型。方法名称:在DLL文件...

C#如何调用C++的DLL的结构体数组指针
调用方法:1、添加引用 右击项目-添加引用-浏览 找到本地的dll文件 2、using 该dll文件里面代码的名称空间 然后就可以调用dll文件里面的类(test)和方法(add)了 例如:using aa.test namespace conslole1 { class Program { static void Main(string[] args){ Test test1=new Test();test1.add(...

用C#如何打开DLL文档
DLL文件是用来添加引用的。一般该类文件是由第三者进行封装形成的dll文件,文件内部如果提供对应的接口是可以在添加完引用之后调用的。当然还可以反编译你的dll文件获取内部的源码。但是并不是C#可以打开的。希望可以帮到你

C#里,dll文件如何使用??
建立项目的时候选择类库就行了,编译出来就是DLL。DLL里面保存的是编译好的方法,可以被其他程序在需要的时候调用,而不用再重新写一遍。例如:有一个kinghosky.dll,你在工程里的解决方案资源管理器中右键引用,找到本地磁盘中的dll文件,就可以直接添到你的工程里面,使用方法:你可以先using dll中的...

如何在C#工程中调用C语言外部库
DLL分析的非常好用的工具(Dependency Walker 2.2)网页链接 Dependency Walker使用说明网页链接 接下来,就可以在C#中进行C语言DLL的调用了,主要使用System.Runtime.InteropServices下的DllImport,参考网址如下:C#直接使用DllImport外部Dll的方法网页链接 从托管应用程序调用非托管代码网页链接 另外特别要说明...

c#中怎样运行调用的dll文件
在C#中,你可以在EntryPoint域通过名字和序号声明一个动态链接库函数,如果在方法定义中使用的函数名与DLL入口点相同,你不需要在EntryPoint域显示声明函数。否则,你必须使用下列属性格式指示一个名字和序号。[DllImport("dllname", EntryPoint="Functionname")] [DllImport("dllname", EntryPoint="#123")]值得注意的是...

C#怎么调用cuda生成的dll文件中的函数
利用反射,下面举例:例如程序集是Lib.dll Assembly ass=new Assembly();\/\/创建反射对象 ass.Load("Lib");\/\/加载程序集,注意后面的dll不用写 object pigInstince=ass.CreateInstance("Lib.Pig");\/\/相当于new Pig();

如何在C#中调用C\/C++ DLL中的方法
一、C#写的类库:using System;using System.Collections.Generic;using System.Text;namespace ClassLibrary1{ public class Class1 { public String Name { get; set; } public void helloWorld() { Console.WriteLine("hello world!"); } }}\/\/ C#程序配置,...

如何利用C#创建和调用DLL
二、准备工作 我们需要对我们接下来要做的事情做个简单的介绍,在本文我们将利用C#语言创建一个名为 MyDLL.DLL的动态链接库,在这个动态链接库文件中我们将提供两个功能一个是对两个参数交换他们的值,另一个功能是求两个参数的最大公约数。然后创建一个应用程序使用这个DLL。运行并输出结果。 三、创...

相似回答