如何快速将vc++的类转换为c#/cli
来源:互联网 发布:免费的fq软件 编辑:程序博客网 时间:2024/06/05 14:17
所有需要的工具:
1. TextTemplate
2. P/Invoke Interop Assistant
3. DotNetResolver
vc++的native类一般是无法直接暴露在.net环境下用的(这里暴露的意思是其他.net可以调用)
所以我们其实总是要做一个stub,或者说adapter
对于一般的结构,我们可以通过工具,复制黏贴,转化为.net的类
这里推荐工具:
PInvoke Interop Assistant
我是从stackoverflow上了解的:这里
要注意的是,他们推荐的这个工具 P/Invoke Interop Assistant 有一些限制,我发现他可能无法识别一些注释,特别是注释中有中文,所以必须在贴入VC++代码后,删除所有注释(建议使用正则表达式), 另外由于控件本身的限制,没法输入大量的代码,这里由于源码公开,可以进入后台查看。当然,源代码是VB.net,看不懂…….于是直接使用了工具3:DotNetResolver 反汇编看代码。
P/Invoke Interop Assistant的exe是:winsiggen.exe
.net名称是: sigimplib
其中界面的分支为:
PInvoke.Controls.TranslateSnippetControl
发现其中函数GenerateCode
中有如下语句: PInvoke.Transform.BasicConverter::ConvertNativeCodeToPInvokeCode(string)
ok, 果断引用此exe,调用此函数就可以解决之前控件造成的字符串字数限制了
最后,也是比较麻烦的就是用tt写stub了,好在结构都已经通过前面的工具转化为.net的了!
- 如何快速将vc++的类转换为c#/cli
- 如何快速将汉字转换为拼音
- [C#]如何将自定义的structure转换为byte[]?
- 如何将LabVIEW的VI转换为C语言代码
- VC中,如何将十六进制字符串转换为十进制数?
- 如何快速将AAX转换为MP3格式
- 如何快速将PDF文件转换为图片
- 【C++/CLI】如何将数值转为字符串
- 如何将QDialog 类转换为QWidget
- 2. 如何将java传入的String参数转换为c的char*,然后使用?
- C/C++中如何将浮点数转换为字符串
- C#, VB.NET如何将Excel转换为PDF
- 如何将C语言代码转换为对应的汇编代码?
- 一种将无限循环小数快速转换为分数的方法
- 立此存照(16)[C++]如何将一个数字转换为英文读法--英文三位计数法的英文转换
- 如何快速将pdf转换excel转换
- VC实现将图片转换为数组
- vc 将char* 转换为CString
- 黑马程序员-----------C语言基础-----------数组
- 可修改主席树
- Linux C编程的DEBUG宏
- hdu 5385 The path
- 【POJ 1260】Pearls
- 如何快速将vc++的类转换为c#/cli
- JSON格式注册登录查询byHttpClientDoPost
- gcc简单命令记录
- CodeForces-554B Ohana Cleans Up
- LeetCode(171) Excel Sheet Column Number
- Linux用户和用户组管理-用户管理命令passwd/usermod/chage/userdel/su***用户组管理命令
- File类,IO流练习题目
- C/C++/Java/C#/Python的内存管理机制整理
- IOS开发—Quartz 2D介绍