C#调用C++写的代码(VS2015)
来源:互联网 发布:nginx rtmp 点播配置 编辑:程序博客网 时间:2024/06/06 09:01
将C++代码编译成dl的时候,新建控制台程序
注意的是建立dll工程之后,在属性中选择“动态链接库和在静态库中使用MFC”这一项,编译出来的dll文件不需要引入库文件(.lib)。
将dll文件放在C#工程的bin文件夹下(和C#的exe程序在一个目录下)就可以调用。
C++dll中编写的代码:
extern "C" __declspec(dllexport) int Aera(int argv)
C#的引用代码:
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;using System.Runtime.InteropServices;//需要加上的一句namespace cv{ public partial class Form1 : Form { [DllImport("Aera_Caculate_Dll.dll")] public static extern int Aera(int argv); //后面就可以直接使用Aera函数。
当出现“调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和参数与非托管的目标签名是否匹配。”的问题时,加入“CallingConvention = CallingConvention.Cdecl”属性
[DllImport("Aera_Caculate_Dll.dll",CallingConvention = CallingConvention.Cdecl)]
阅读全文
0 0
- C#调用C++写的代码(VS2015)
- C++、C#写的WebService相互调用
- C++、C#写的WebService相互调用
- C++、C#写的WebService相互调用
- C++、C#写的WebService相互调用
- C++、C#写的WebService相互调用
- C#下调用C写的dll的例子
- C#调用C写的DLL二级指针传递方法
- C#调用C写的DLL二级指针传递方法
- android 调用自己写的C函数库 代码
- C#调用C++接口\C接口小结总结(C#调用C++写的DLL总结)
- VS2015使用小技巧 如何使用VS2015创建写HTML代码的项目
- VS2015 编译生成C#的DLL文件,并调用
- C# .net写的程序调用C++.net写的动态库装载失败,原因一句说清
- Lua使用动态链接库调用C模块(VS2015)
- C#写的UBB代码
- C++ 调用 C#写的COM (基于VS2008)
- c#调用C++ 写的DLL(带CALLback函数)
- opencv自学视频网址
- 本地计算机资源不可以与远程计算机复制粘贴的解决方案
- Java中对象锁和类锁举例
- android之bitmap处理图片
- Android源码剖析之Framework层实战版
- C#调用C++写的代码(VS2015)
- unity学习之飞机大战制作 关键点(二)定义层级,以及设置主角动画
- 医学图像处理---数据重新切分
- 【知识整理】nested exceptionis org.hibernate.exception.GenericJDBCException: Cannot open connection。
- Android 你应该知道的学习资源 进阶之路贵在坚持
- Git 使用(1)安装
- JDBC基础教程之CallableStatement
- windows系统下绿色版tomcat加内存方法(32位操作系统与64位操作系统)
- hibernate防止sql注入对参数赋值传参数的例子