c# c++ 自动接口工具
来源:互联网 发布:js点击按钮隐藏input 编辑:程序博客网 时间:2024/06/07 02:53
近来想给写好的C++代码做C#接口,上网查了自动封装的工具。
总结下来有4种方式:
1. 使用invoke方式,就是直接在C#中引用c++写发的dll。这个方法适用于简单情况,复杂情况代码太大。
2. 编写com来使用dll,熟悉com技术的可以尝试。
3. 使用CLR C++(又称托管C++)。这个技术是给C++添加元信息,并自动管理了指针,很像C#了。但基本像是要新学一个语言(成本有点高)。然后基于微软的通用语言基础结构(CLI,Common Language Infrastructure),所有语言(包括C#)都被转换成为这个中间格式,当然C#也就能调用这些代码了。
4. 也是使用CLI技术,不过是C++/CLI。区别在于这个只是给C++代码做一个封装,代码并不过高。是笔者最推荐的方式。
说守了实现方式,现在说下自动封装工具。如果要自己写代码,即使只写封装接口,在面对大型工程时也是不能承受的。因为写出的代码都要维护。于是自动封装工具就有了用武之地。目前我google到4个工具:
PInvoke 这个只用c++头文件和编译好的dll就能完成封装,应该是C++/CLI方式的。而且免费。
xInterop 这个是根据头文件生成的,应该是C++/CLI方式的,且支持双向调用(即C#可调用C++代码,C++代码也可调用C#代码 )。在网站上没有看到开源或是免费的信息。
SWIG 这个比较大名顶顶了。可以为C++提供很多语言的接口,比如 脚本语言 Javascript, Perl, PHP, Python, Tcl 和 Ruby,非脚本语言 C#, Common Lisp (CLISP, Allegro CL, CFFI, UFFI), D, Go language, Java including Android, Lua, Modula-3, OCAML, Octave, Scilab 和 R。但是对C++class类的信息提供不足。
Mono/C# 一个托管于GitHub的开源工具,可以为C/C++代码提供C#访问。Mono是开源c#实现(不归微软管 ),而且是跨平台的。Unity3D用的就是 Mono的C#接口。
今天先简单说下,日后用时再详细对比。
- c# c++ 自动接口工具
- 【C#】C#接口
- C、C++、Java和C#的源代码自动格式化工具:Artistic Style
- c#编写自动登录工具
- apidoc接口文档自动生成工具
- C程序自动构建工具
- 【C#】C#接口深入理解
- C# 开发站点自动登陆工具
- [C#]一步一步开发自己的自动代码生成工具之二:SQLServer字段与C#变量的对应转化
- linux的C语言,自动编译工具
- C#cookie自动获取工具发布
- C#cookie自动获取工具发布
- C/C++自动生成makefile工具 supermake
- Objective-C 自动生成文档工具:appledoc
- Objective-C自动生成文档工具:appledoc
- 【工具】C盘垃圾自动清理软件
- ibator 工具补充类,自动生成Manager接口,ManagerImpl类
- app后端开发二:API接口文档自动生成工具
- Android开发笔记之多媒体图像的处理
- Codeforces Round #351 (VK Cup 2016 Round 3, Div. 2 Edition)只有A题和B题
- hive开启严格模式
- 学习资料链接
- linux camera ---1
- c# c++ 自动接口工具
- 第十一周阅读程序(5.1)
- 我的世界:8分钟教会你开服联机
- 自定义页面加载LoadingLayout
- Spring IoC[控制反转]
- Spring 4.x Reference翻译(一)IOC容器
- 高斯混合模型用到的几个公式
- org.json.simple JSONArray JSONObject
- CodeForces - 670D1 Magic Powder - 1 (模拟)