电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

C调用C++的程序

C调用C++的程序_第1页
1/20
C调用C++的程序_第2页
2/20
C调用C++的程序_第3页
3/20
C# 调用 C++ 程序 2010-11-16 08:54:43| 分类: .NET 技术 | 标签: |字号大中小 订阅 一个简单的案例,学习一下如何通过C#来调用用C++开发的DLL 中提供的API. 1. 建立一个C #控制台工程,主要用于调试。 2. 在解决方案中添加一个新的空工程(VC++的)。 3. 创建后的工程如下图所示: 4. 在C++工程中添加一个源文件到Sou rce Files 文件夹(x x x .c or x x x .cpp),如:My Math.cpp 内容如下: #include extern "C" __declspec(dllexport) int mySum(int a, int b, int *c) { *c = a + b; return *c; } 5. 右键点击C++工程,在属性中的General->Configuration Type 选择 Dynamic Library (.dll)。 6. 这里还要注意的是为了编译生成的dll文件能被c# 工程导入你需要Common Langu age Ru ntime su pport 选择Common Langu age Ru ntime Su pport (/clr)这项,否则编译的dll不能用到c#工程当中。 7.bu ild C++工程(你也可以用命令行CL.ex e 来编译文件)。之后,有很多人就直接想当然的跑到 c++工程下面的 Debu g 文件夹里去找 x x x .dll 文件,结果只看到 x x x .dll.intermediate.manifest 这样的文件失望而归。其实编译后真正的 dll 文件是在解决方案的 Debu g 文件夹下面。 在本例子里,是放在目录 D:\C++Project\CImportDemo\Debu g 下,而不是目录 D:\C++Project\CImportDemo\CDllProject\Debu g 下。 8.在c#工程的引用中导入x x x .dll。在c#主文件中键入如下代码:我这里的x x x = CDllProject.dll using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Runtime.InteropServices; namespace CImportDemo { class Program { [DllImport("CDllProject.dll", EntryPoint = "mySum", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)] public static extern int mySum(int a, int b, ref int c); static void Main(string[] args) { int c = 0; Console.WriteLine(mySum(8, 9, ref c)); Console.Read(); } } } 9. 最后你会看到运行结果:17。 参考:http://w w w .cnblogs.com/john-cncn/articles/1136417.html 这篇文章没有什么新意,在 2004 年的时候就有人写...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

C调用C++的程序

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部