c/c++ 回调 c#代码
来源:互联网 发布:富士照片打印软件 编辑:程序博客网 时间:2024/05/19 17:25
c/c++回调c#委托:
worker.dll/main.h
extern "C"{ #define DLL __declspec(dllexport) typedef void (__stdcall *Callback)(int); DLL void DoWork(Callback callback);}
worker.dll/main.c
DLL void DoWork(Callback callback){ callback(1);}
c# Program.cs
using System;using System.Runtime.InteropServices;class Program{ [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void Callback(int value); [DllImport("worker.dll")] public static extern void DoWork([MarshalAs(UnmanagedType.FunctionPtr)]Callback callbackPointer); [STAThread] static void Main(string[] args) { // define a callback delegate Callback callback = (value) => { Console.WriteLine("callback = {0}", value); }; Console.ReadKey(true); // call DoWork in C code DoWork(callback); Console.WriteLine(); Console.ReadKey(true); }}
ps:
托管代码捕捉非托管异常
System.Runtime.ExceptionServices.HandleProcessCorruptedStateExceptionsAttribute
http://msdn.microsoft.com/zh-cn/library/System.Runtime.InteropServices(v=vs.100).aspx
0 0
- c/c++ 回调 c#代码
- 串口Java/c++/C#代码
- [C#] C#代码获取机器码
- C# VS C 解惑 代码规范
- c#,解释和执行c#代码;
- C、C++、C#简单代码编译结果的不同!
- c/c++/c#
- c/c++/c#
- c/c++/c#
- c/c++/c# 浅析
- C/C++/C# 程序库
- C/C++/C#基础(
- c++&c#
- C代码
- 中国最大的C/C++ C#代码基地
- Visual C# 应用程序开发 之 代码段 (C#)
- Visual C# 应用程序开发 之 使用代码段 (C#)
- 【荐】matlab、C++、C#学习及代码下载推荐网站
- Android 之采用execSQL和rawQuery方法完成数据的添删改查操作
- [转]XMPP协议的原理介绍
- 一些有意思的网站
- OCX和DLL的区别
- 朴素贝叶斯算法学习 (一)
- c/c++ 回调 c#代码
- set Map中存放不可变类
- Andorid开发环境搭建
- POJ 1150(数论) 代码量极少的解法
- MFC 单文档程序初始化最大窗口
- 自动类型转换auto
- xml文件的pull解析
- 在Ubuntu 14.10下安装Lua 5.2出错的解决
- coreJava面试题