首页产品库评测行情新闻|手机数码笔记本台式机DIY硬件数字家庭数码相机办公外设|软件下载游戏开发|社区

更多

数码相机
MP4
LCD
机箱
音箱

软件资讯设计 工具 系统 开发 安全 办公 陶吧 IT教育 Vista频道 | 下载中心酷我音乐盒 腾讯QQ
天极网 > 开发频道>托管C++是非托管代码和托管代码之间的桥梁

托管C++是非托管代码和托管代码之间的桥梁

2008-10-03 21:25作者:shenyc的专栏出处:天极网责任编辑:郑重

  以前一直使用VC++作为混饭的工具,也写了一些 可以重用的代码,开始时是源代码重用,后来可重用代码多了起来,发现源代码重用很是不爽,不但要来回粘贴代码,偶尔修改一下还要把修改后的代码单独保存起来,以保持最新。

  于是,我决定要再向前进化一步,使用VC++提供的扩展动态库。不用不知道,果然爽极,可重用代码的维护被限定在一个扩展动态库的项目之内,无论何时改变代码,再也不需要操心更新的问题了,其他的应用项目只使用即可。不过微软的MFC扩展动态库虽然可以导出类,但据微软说明,其制能用在VC++中,也就是说我费尽心机,耍尽小心眼写的DLL不能被别的开发工具使用,这还谈什么重用和共享?为此我从来都不敢和别人说自己写的东东能共享,如果一哥们说:拿来我i用一下!我还得解释这个只能怎么怎么样.... 一定必定以及肯定落个“扯淡”的下场。

  近段时间,我使用C#作一个东西,其中要用到网格插值及加密算法,这些东东以前写的有C++代码,我看了一下,如果把它转换成C#代码也可以,不过太过残酷,怎么办?老天救我一救吧!其实老天也不会施以援手的,我只有一头扎进M$的M$DN中,象一头饥饿的苍蝇在MSDN这个汪洋大池中寻找哪怕一点有关的INFO.........

  终于有了(不要误会,我乃雄性)一线希望,MSDN中说可以把非托管代码经过封装之后给符合公共语言规范的编程语言使用,这不是说可以给C#使用吗?怎么封装呢?我简单掐指推算了一下:Visual Studio 2008 中包含VC++、C#、VB、VJ等多个工具,如果要封装一定是使用VC++来噢。果然如此,使用VC++的CLR编译选项就可以建立非托管代码和托管代码之间的畅通管道,其中使用Manage C++语法对非托管代码进行封装,比如非托管代码中的数组、内存块指针可以使用 aray^ 来封装,然后在C#中会被当作数组使用。

  问题基本解决了,现在我可以在C#中使用VC++写的类了,并且可以使用MFC类,当然都要经过封装。

关注此文的读者还看过:

返回开发频道首页

共1页。 1

软件频道最新更新

热点推荐

IT嘉年华

编辑推荐

软件下载

热门
推荐

网友关注

软件
资料
游戏

装机推荐

文章排行

本周
本月
最新更新
天极服务|关于我们|About us|网站律师|RSS订阅|友情合作|加入我们|天极动态|网站地图|意见反馈|MSN/QQ上看天极
Copyright (C) 1999-2012 Yesky.com, All Rights Reserved 版权所有 天极网络