Visual Studio 宏生成C++代码

      最近做一个项目,底层是由C++库,应用层要用.Net实现。因此需要将C++库做个Wrapper,映射成托管程序集。我们可以用C++/CLI或者C#直接用Dllimport来引入。我选择的是用C++/CLI写Wrapper库,但是发现API中有几百个Struct定义和非常多的宏,常量定义,手工转的话是一项机械式的劳动,而且非常容易丢变量、数据类型映射错误等。

      为解决上述问题并能快速生成映射库,首先想到的是写个程序自动分析一下做映射,但是头文件引用,宏定义,嵌套的typedef 语句等分析起来还是比较复杂,赶上开发一个简单的C++语法分析器了。后来想到VS的宏,我想VS里面应该有所有类型的信息,否则代码提示等功能将无法实现,如果能用宏来访问VS中的项目内类型信息那么转换将是非常容易的事情了,查了半天MSDN发现很多好东西,写出来给大家分享一下:).

       我们知道微软很多产品都有宏功能,word、excel等,在excel中我们可以用宏写一些程序,完成我们重复性的数据处理工作,同样我们在VS中也可以用宏来生成一些重复性的代码,下面我一步步介绍如何用宏来生成C++/CLI Wrapper 类.

  1. 首先我们打开我们的API Demo程序或者新建一个Win32 C++应用程序(这一点是必须的,否则无法找到C++类型信息)。
  2. 在你的应用程序中引用API的头文件,写一些简短的调用方法,编译你的应用程序。
  3. 点击工具Tools->Macros->Macros IDE..菜单,打开宏编辑工具。
  4. 在Project Explorer中点右键,在弹出菜单中点击Add New --> Add Module菜单项,在弹出菜单中输入CPlusWrapper点击Add按钮,会出现以下代码:
  5. 我们在Module/End Module之间添加自己宏代码执行函数。
     
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值