问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c#怎样调用c++ dll文件

发布网友 发布时间:2023-08-10 00:41

我来回答

1个回答

热心网友 时间:2024-10-05 20:19

使用vc++6.0创建dll,然后用vs2010调用。
1.vc++6.0创建动态链接库工程:win32 Dynamic-Link Library。随便起名,dllDemo,不过注意的是,你生成的dll文件是和你的工程名是一样的而不是你的cpp文件名。创建dllDemo.cpp和dllDemo,h。下面是代码。
/*
* dllDemo.h
*/
extern "C" _declspec(dllexport) int Sum(int a,int b);//加法函数。
extern "C" _declspec(dllexport) int Max(int a, int b);//取较大值函数
extern "C" _declspec(dllexport) int Min(int a, int b);//取较小值函数
///:~
/*
*dllDemo.cpp
*
#include "dllDemo.h"
extern "C" _declspec(dllexport)int Sum(int a, int b)
{
return a+b;
}
extern "C" _declspec(dllexport)int Max(int a, int b)
{
if(a>=b)
return a;
else
return b;
}extern "C" _declspec(dllexport)int Min(int a, int b)
{
if(a>=b)
return b;
else
return a;
}
///:~
然后编译运行,会在debug目录下找到dllDemo.dll这个动态链接库。
下一步,在c#中调用。新建,项目,控制台应用程序。(注意是C#,不是C#环境您重新切一下),在Program.cs中贴入以下代码:

using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;//引入dll文件中的函数

class Program
{

//引入dll文件中的函数
[DllImport("dllDemo.dll")]
private static extern int Sum(int a, int b);
[DllImport("dllDemo.dll")]
private static extern int Max(int a, int b);
[DllImport("dllDemo.dll")]
private static extern int Min(int a, int b);

static void Main(string[] args)
{
int a = Sum(3, 5);
Console.WriteLine(a);
Console.WriteLine(Max(5,10));
Console.WriteLine(Min(12,25));
Console.ReadKey();//直接main里边最后加个Console.Read()不就好了。要按键才退出。
}
}
然后把你编译好的dllDemo.dll粘贴到工程的bin下的debug目录下(vs2008可能直接是debug目录,总之弄到debug目录下就好),运行系统

热心网友 时间:2024-10-05 20:19

使用vc++6.0创建dll,然后用vs2010调用。
1.vc++6.0创建动态链接库工程:win32 Dynamic-Link Library。随便起名,dllDemo,不过注意的是,你生成的dll文件是和你的工程名是一样的而不是你的cpp文件名。创建dllDemo.cpp和dllDemo,h。下面是代码。
/*
* dllDemo.h
*/
extern "C" _declspec(dllexport) int Sum(int a,int b);//加法函数。
extern "C" _declspec(dllexport) int Max(int a, int b);//取较大值函数
extern "C" _declspec(dllexport) int Min(int a, int b);//取较小值函数
///:~
/*
*dllDemo.cpp
*
#include "dllDemo.h"
extern "C" _declspec(dllexport)int Sum(int a, int b)
{
return a+b;
}
extern "C" _declspec(dllexport)int Max(int a, int b)
{
if(a>=b)
return a;
else
return b;
}extern "C" _declspec(dllexport)int Min(int a, int b)
{
if(a>=b)
return b;
else
return a;
}
///:~
然后编译运行,会在debug目录下找到dllDemo.dll这个动态链接库。
下一步,在c#中调用。新建,项目,控制台应用程序。(注意是C#,不是C#环境您重新切一下),在Program.cs中贴入以下代码:

using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;//引入dll文件中的函数

class Program
{

//引入dll文件中的函数
[DllImport("dllDemo.dll")]
private static extern int Sum(int a, int b);
[DllImport("dllDemo.dll")]
private static extern int Max(int a, int b);
[DllImport("dllDemo.dll")]
private static extern int Min(int a, int b);

static void Main(string[] args)
{
int a = Sum(3, 5);
Console.WriteLine(a);
Console.WriteLine(Max(5,10));
Console.WriteLine(Min(12,25));
Console.ReadKey();//直接main里边最后加个Console.Read()不就好了。要按键才退出。
}
}
然后把你编译好的dllDemo.dll粘贴到工程的bin下的debug目录下(vs2008可能直接是debug目录,总之弄到debug目录下就好),运行系统
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...频数和频率成正比,2频数一定时,频率与总次数成反比,对不对_百度... ...总次数之间的关系是( ) A.频数越大,频率越大 B.总次数一定时,频数越... 实验的总次数、频数及频率三者的关系是( )A.频数越大,频率越大B.频数... 嘎牙鱼的做法大全 安无线网要用多少元网费要交多少元不用用了要不要交网费,想寻求大家的... 无线网费1年多少钱 "Hbr"作为“港”的缩写,其在英语中的使用频率和应用示例如何? 【车主点评:吉利汽车帝豪GL 使我荣华富贵】 请问,如果,家用,自动挡,帝豪gl,英朗,科沃兹,卡罗拉,轩逸,同等价位,建议... ...景点?既能休闲的时候看看又能长点知识@@谢谢各位了! 中信银行丹阳支行营业时间 中山市烟洲中学是公办学校吗,有什么特色? 海南嘉勋高级中学宿舍环境 中山华侨中学和烟洲中学比较 打算买辆小卡长安神骐跑运输,有谁知道载重是多少? 长安神祺F30最大载货量是多少 长安神骐t20拉4吨需要加钢板吗 长安神骐能拉多少吨? captureone导出设置参数 xsmax不插卡112打不出去正常吗 山西财经大学和广东金融学院哪个好 广东金融学院的校风和师资怎么样? 广东金融学院 的成人教育如何,学风好吗 读后感 400字 《红瓦片》 《红瓦片》的读后感 如何向人推荐红瓦片这本书 《放鸭记》读后感 怎么写?急 《放鸭记》读后感怎么写 美团生活费委托方是合法的吗 贵州大学科技学院是几本? 长笛超高音的#4怎么吹? 神武4手游5点资质等于多少属性点 手游 神武宠物资质丹一个加多少资质 周末酒店APP再度回应携程,不认同其声明,到底有没有二选一的现象? ...返点,如果2个点的话,打比方100元/斤,成本怎么计算,不涉及税的话,返... 北京科技大学今年在黑龙江招文科生吗?? 北京信息科技大学收文科生吗? 外墙空调洞怎么补好呢? 蒲公英妈妈的办法有三种,分别是什么? 哈尔滨市卫校地址 大虾怎么做既简单又好吃 有一块长方形菜地,长50米,宽30米,不久,在菜地中建了一条“十”字路... ...学校决定修建一块长方形草坪,长50米,宽30米,并在草坪上修建如图所示... 新概念英语第二册音频,之前下载的不知道是什么版本的,语速比较快 《新概念英语》录音是新版的发音好还是旧版的好?(专指英音版) 刑法中哪些罪名可以被判处死刑 12平方米的面积 我要用30乘30的地板砖 大概需要用多少块地板砖,如何... 贴墙纸十二平方规格三十乖三十公分要多少块墙纸? 用如图两种瓷砖铺12平方米墙面,按面积算,至少各需要多少块? 垒12墙30个平方大概得多少砖多少块?