分享
 
 
 

精通.NET互操作:P/Invoke、C++ Interop和COM Interop

精通.NET互操作:P/Invoke、C++ Interop和COM Interop  点此进入淘宝搜索页搜索
  特别声明:本站仅为商品信息简介,并不出售商品,您可点击文中链接进入淘宝网搜索页搜索该商品,有任何问题请与具体淘宝商家联系。
  參考價格: 点此进入淘宝搜索页搜索
  分類: 图书,计算机/网络,程序设计,.NET ,

作者: 黄际洲,崔晓源编著

出 版 社: 人民邮电出版社

出版时间: 2009-5-1字数:版次: 1页数: 419印刷时间:开本: 16开印次:纸张:I S B N : 9787115204349包装: 平装编辑推荐

使用P/Invoke调用C库函数及Windows API,使用C++Interop与C++类库及核心算法库进行交互,使用COM Interop实现托管代码与COM之间的交互。

本书旨在介绍Windows平台上托管代码与非托管代码之间进行互操作的三种主要技术及其工作原理。在内容的设计上着眼于程序员在开发过程中可能会遇到的各种问题,并以实际问题为背景将各种技术细节的介绍融汇于最佳实践之中。不论是开始学习.NET编程的开发人员,还是刚刚接触互操作的资深NET开发人员都能从本书中获益。

内容简介

本书介绍Windows平台上的托管代码与非托管代码之间进行互操作的各种技术,包括由.NET提供的各种互操作方法、属性以及各种工具的用法及其工作原理。本书包括3部分,平台调用——主要用于解决在托管代码中调用非托管程序设计语言编写的flat API(如Win32 API、C/C++风格的API等)的问题;C++ Interop——技术专门用于解决托管代码与C++编写的非托管代码之间的互操作问题;COM Interop——介绍了使用COM Interop解决在托管代码中调用COM组件,以及在COM中调用托管类型的问题。

本书适合所有在开发过程中需要涉及到托管代码与非托管代码进行交互操作的.NET开发人员阅读使用。不论是开始学习.NET编程的开发人员,还是刚刚接触互操作的资深.NET开发人员,都能从本书中获益。

作者简介

黄际洲,2004-2007年连续四年微软最有价值专家(MVP)。感兴趣的研究方向主要包括自然语言处理、信息检索、聊天机器人等。他曾翻译了三本游戏编程方面的书籍:《Direct 3D中的2D编程》、《游戏编程All in One》及《Directx角色扮演游戏编程》。

目录

第一部分P/Invoke

第1章使用C/C++类型的非托管函数

1.1平台调用简介

1.2Hello World!示例程序

1.3获得要调用的非托管函数声明

1.4平台调用基础知识

1.5指定调用约定

1.6指定入口点

1.7指定字符集

1.8处理平台调用中的异常或错误

1.8.1非托管函数的托管定义导致的异常或错误

1.8.2非托管函数导致的异常或错误

1.9释放非托管内存

1.9.1释放由malloc方法分配的非托管内存

1.9.2释放由new运算符分配的非托管内存

1.10动态平台调用

1.10.1平台调用的原理和过程

1.10.2通过手动加载非托管DLL实现动态平台调用

1.10.3利用反射实现动态平台调用

1.10.4利用GetDelegateForFunctionPointer实现动态平台调用

1.11提升平台调用性能的技巧

1.11.1显式地指定要调用的非托管函数的名称

1.11.2对数据封送处理进行优化

1.11.3尽量避免字符串编码转换

第2章平台调用中的数据封送

2.1字符串的封送

2.1.1封送作为参数的字符串

2.1.2封送作为返回值的字符串

2.1.3封送BSTR类型的字符串

2.2封送作为参数的结构体

2.3封送从函数体内部返回的结构体

2.3.1封送作为函数返回值返回的结构体

2.3.2作为函数参数返回结构体

2.4封送结构体中的字符串

2.4.1结构体中的字符指针字段

2.4.2结构体中的字符数组字段

2.5控制结构体字段的封送行为

2.6控制结构体的内存布局

2.6.1定义结构体的部分字段

2.6.2联合体的封送

2.7封送嵌套的结构体

2.7.1指向结构体指针字段的嵌套形式

2.7.2结构体实例字段的嵌套形式

2.8封送类

2.8.1封送引用类型的简单示例

2.8.2封送blittable引用类型

2.8.3将引用类型封送为指向指针的指针

2.9封送数组

2.9.1封送简单类型数组

2.9.2封送字符串数组

2.10实战演练

2.10.1背景介绍

2.10.2模块介绍

2.10.3实现平台调用

第3章使用平台调用技术调用Win32 API

3.1确定要调用的函数

3.2处理Win32函数返回的错误码

3.3处理回调函数

3.4使用Windows定义的常量

3.5封送Win32数据类型

3.5.1可直接复制到本机结构中的数据类型

3.5.2非直接复制到本机结构中的数据类型

3.6处理句柄

3.7传递托管对象

3.8使用P/Invoke调用Win32 API的最佳实践

3.8.1编码规范

3.8.2性能

3.8.3安全性

3.8.4尽量使用Win32函数对应的.NET托管实现

第二部分C++ Interop

第4章C++ Interop

第三部分COM Interop

第5章在.NET中使用COM组件

第6章在COM中使用.NET程序集

附录A光盘内容介绍

附录B有关互操作技术的互联网资源

附录C本书所用术语表

媒体评论

托管代码与非托管代码之间的交互是许多程序员在.NET开发平台上不得不面对的任务。《精通.NET互操作:P/Invoke,C++Interop和COM Interop》这本书深入而透彻地解析了.NET支持的三种与原生代码互操作的技术,作者以自己的经验讲述了原生代码与托管代码之间互操作所涉及到的编程要点,以及背后的一些实现原理。书中提供的实例有助于程序员快速领会并掌握.NET与原生代码互操作技术的用法。我建议在.NFT平台上工作的程序员读一读这本书。 ——潘爱民,著名技术作家,著有《COM原理与应用》等多部畅销书,并翻译了多部经典名作

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
>>返回首頁<<
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有