上次我们看了什么是C++/CLI,我们知道C++/CLI其实是包含了三部分:ISOC++,对CLI的.NET实现的扩展和前二者的无缝连接。本次继续上次,更近一层解释读者关心的三个问题:第一,使用C++/CLI我们可以做什么,它可以被使用在那些方面;第二,那些朋友需要学习C++/CLI;第三,学习C++/CLI需要哪些基础。
1)使用C++/CLI我们可以做什么?
对于C++/CLI可以做什么?我们可以简单的从它所包含的三部分内容来解释,第一,ISOC++是C++/CLI对CLI扩展的基础,C++/CLI对以前的ISOC++部分完全进行了保留,完全兼容,所以ISOC++可以做的,现在C++/CLI仍然可以继续,那有人说这个就是ISOC++,那么我也告诉你是C++/CLI, 因为它是被编译为IL代码,这时我们可以用来开发游戏和图形处理软件等,但是如果是要开发系统或底层,这时需要将代码编译为本地代码,其实这时的C++/CLI就是ISOC++了;第二,对CLI的.NET实现的扩展,这部分我们可以充分地使用.NET所带来的优势,比如庞大的类库和高效的UI快速开发能力;第三,ISOC++和.NET的集成,通过这部分,更好地补充了以前的本地代码和.NET代码的交互的能力,降低的集成的难度,使得可以更加充分地利用各语言和开发人员的优势。
2)哪些朋友需要学习C++/CLI?
对于以下三种情况的开发人员可以考虑学习C++/CLI:
第一,使用ISOC++开发一般应用程序的开发人员,现在随着.NET的逐渐流行,.NET包含了大量的类库,封装了大量的功能,对于性能不是要求特别苛刻的应用程序,可以平衡的使用部分.NET来缩短整个开发周期。对于ISOC++的开发人员想使用.NET,在以前我们会毫不犹豫的选择学习C#,这样就导致了必须要完全重新学习一门新的语言,而且更重要的是还要处理各种各样的C#和ISOC++的交互问题。现在C++/CLI是对ISOC++扩展了C#的功能,而且又无缝集成省去了以前的交互问题,那么我们为什么不直接选择C++/CLI呢!
第二,对于目前使用C#的开发人员,在实际的项目开发中很多的时候也不的不面对以前遗留下来的ISOC++的功能模块,或是大量的第三方的ISOC++的代码,那么要想在C#中使用这个ISOC++的代码,那么最好的选择是学习C++/CLI。
第三,如果你目前使用ISOC++和C#,只要你要做ISOC++和C#的交互,那最好的选择还是C++/CLI作为前二者的中间层。
3)学习C++/CLI所需要的基础?
C++/CLI包含了ISOC++和对其的.NET的扩展,看这两部分,一个是ISOC++,另一个是在.NET的扩展,可见基础就是ISOC++,这也正是我这里指出的本系列所要求的基础。前面虽然提到C++/CLI包含ISOC++和其扩展,但是考虑到ISOC++是个很大的内容和已经存在有大量的书籍介绍,所以本系列着重介绍ISOC++对.NET的扩展部分。如果读者对ISOC++还不是很了解的话,最好先对其进行学习,然后再看本系列会有更好的效果。
最后强调,学习本系列需要读者有ISOC++的基础,祝愿本系列能够给ISOC++和C#的朋友带来帮助。