推荐一本.NET的书《精通.NET互操作:P/Invoke,C++ Interop和COM Interop》
原文地址: http://www.kaixin001.com/diary/view.php?classid=0&uid=127614&did=12078571&pos=1&start=0&type=list
之前在公司做一个OUTLOOK插件的.NET
CRM程序,一直与COM组件打交道,吃的苦头那叫一个多啊。为了减少与COM直接交互的代码的编写(容易出错,而且经常被内存泄漏问题搞得头疼死),我们采用了第三方的C#工具做为中间件,然后我们自己编写.NET代码调用这个C#工具来跟OUTLOOK的COM组件进行交互。可是即便这样,我们也没少痛苦。原因很简单,编写工具的那个公司,也没全吃透这个COM组件与C#交互的原理,而且他的API也一堆一堆的问题,最后给我们带来的痛苦也没少于直接跟COM进行交互。
最近同学给我推荐这本《精通.NET互操作:P/Invoke,C++ Interop和COM
Interop》,里面系统的介绍了.NET和COM互操作的概念和实际应用,讲的正是我之前一直想要知道的。用我同事的话说,正是挠到最痒的地方了。之前在项目上的时候,我也google了很多次,搜出来很多相关的资料,但是对于这个互操作技术还是一知半解。在读了这本书第1章的基础知识后,发现这书系统的对P/Invoke技术进行了介绍,而且都直接先举实际的代码例子来说明问题(这可对了我们程序员看书的胃口啊),所以很容易就看懂了很多之前不懂的地方,感觉书里描述问题的思路非常连贯。而且第1章最后部分对平台调用内存泄漏的问题分析和解释得非常好,给出了多种解决方案并对各个方案的优劣性进行了比较分析。可惜之前做项目的时候这书还没有出版,不然我们就可以少吃很多苦头了。
书的第2部分介绍了C++ Interop的技术,这对于希望利用C++运行高效的特性来写算法,而又想使用C#来编写其他功能代码的朋友可是福音啊,相信看了后肯定感觉受益匪浅。书的最后部分对C#和COM组件的交互进行了详细的介绍和分析,书里列举的代码的例子也都很有实用价值,不愧是作者花了大心血写出来的啊。
最后这里我也贴个书的链接地址,有兴趣的可以去看看和评论评论,难得的好书:
P/Invoke.Book.Master