搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
C++跨平台开发技术指南
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787111250821
  • 作      者:
    (美)Syd Logan著
  • 出 版 社 :
    机械工业出版社
  • 出版日期:
    2009
收藏
编辑推荐
  《C++跨平台开发技术指南》是开发可移植C/C++应用程序的权威读物,它指导编写的代码可以无缝地运行在Windows、Macirltostl和Linux平台上而不需要牺牲任何功能、易用性或是产品的品质。
  Mozilla和Netscape的资深工程师Syd Logan系统地讲解了所有和软件移植性有关的技术和管理上的挑战。包括编码、测试以及部署上的设计和考量。基于他丰富的跨平台开发经验,Logarl完整地讨论了从原生API的使用到最新的可移植GUI开发策略等一系列问题。他还展示了如何避免传统跨平台开发方法里存在的问题,以及如何达到特性的对等性。
  《C++跨平台开发技术指南》对正在构建新的跨平台软件,移植现有的c/c++软件,或是考虑将来为软件添加跨平台支持的每一位软件从业人员和技术经理来说,都是必不可少的资源。
  《C++跨平台开发技术指南》详细介绍跨平台应用的构建方法,包括真实的场景和大量实用的代码示例。以及一个完整的基于Mozilla xUL的跨平台GUI工具包,你可以在网站上下载到所有的源码,并从中获益。
  Netscape在向数百万Windows、Mac OS和Linux用户发布浏览器时采用的策略和过程。
  在所有平台上提供一致的功能和接口。
  理解流行的平台GUl API之间关键的相似与不同,它们包括Win32/.NET、Cocoa和Gtk+。
  决定使用原生IDE的时机,以及如何限制它们对移植性的影响。
  使用基于标志的API,包括POSI×和STL等。避免隐晦的移植性陷阱,相关的如浮点数、char类型、数据序列化,以及C++的类型等。
  利用平台抽象库,如Netscape Portable Runtime(NSPR)等。
  建立一个有效的跨平台bug报告和跟踪系统。为多个平台创建build并在跨平台构建失败时检测到它们。理解本地运行环境以及它们对安装程序的影响。使用wxWidgets从一个代码库里来创建多平台的GUI应用程序。
  完整地测试应用程序的可移植性。
  通过Trixul理解跨平台GUl工具包的设计。
展开
作者简介
  Syd Logan,一位工作生活在南加州的软件工程师,拥有圣地亚哥州立大学的计算机科学学士和硕士学位。Syd曾是Netscape Clierlt Prodlct Developmerm(CPD)团队的一员,在Netscape 6和7的开发过程中,他同时担任了开发和管理的职务。之后,Syc留在AOL并作为AOL Instarlt Messerlger团队的一员实现了VolP和点对点视频的特性。Syd的其他著作还包括《Developirlg Imagirlg Applications witthXIELib》和《Gtk+Programming in C》  (PrerIticeHall 1997和2001)。他的研究兴趣包括机器学习、操作系统设计、算法,以及任何与C、C++和LJNIX有关的事物。
展开
内容介绍
  本书详细介绍C++语言的跨平台技术,包含的主要内容有:Netscape在向数百万Win-dows、Mac OS和Linux用户发布浏览器时采用的策略和过程;如何使用基于标志的API,包括POSIX和STL;如何避免隐晦的移植性陷阱,相关的如浮点数、chat。类型、数据序列化,以及C++的类型;如何建立一个有效的跨平台bug报告和跟踪系统等。本书内容详实,实例丰富。适合软件开发技术人员参考。
  本书是开发可移植C/C++应用程序的权威读物,它指导编写的代码可以无缝地运行在Windows、Macintosh和Linux平台上而不需要牺牲任何功能、易用性或是产品的品质。
  Mozilla和Netscape的资深工程师Syd Logan系统地讲解了所有和软件移植性有关的技术和管理上的挑战,包括编码、测试以及部署上的设计和考量。基于他丰富的跨平台开发经验,Logan完整地讨论了从原生API的使用到最新的可移植GUI开发策略等一系列问题。他还展示了如何避免传统跨平台开发方法里存在的问题,以及如何达到特性的对等性。
  本书对正在构建新的跨平台软件,移植现有的C/C++软件,或是考虑将来为软件添加跨平台支持的每一位软件从业人员和技术经理来说,都是必不可少的资源。
展开
目录
“C++设计新思维”丛书前言
译者序

前言
引言
第1章 策略与管理
条款1:把所有的平台都放在同样重要的位置
条款2:使用公共的代码
工厂模式在不同平台上的实现
类的实现
平台相关的。ProcessesImpl类
创建实例层次。一
用CVS或SVN组织项目
编译代码和Makefile
条款3:要求开发人员用不同的编译器编译代码
条款4:要求开发人员在不同的平台上编译代码
条款5:测试所有的平台
条款6:关注编译警告
GN2J标志
微软VisualC++

第2章 Build系统和Toolchain
条款7:使用最适合平台的编译器
条款8:尽量使用本地IDE
条款9:在Windows上安装和
使用Cygwin
条款10:使用跨平台的Make系统
Make
在Windows上编译Makefile和源码Autoconf)/Automake
Tmake
在MacOSx上安装Imake
在Windows上安装Imake
一个例子:使用Imake
Imakefile文件
完整编译的一个多文件程序
在sitedef里重写默认值
去除代码里的#ifdefs
Imake中用到的文件
编译含有子目录的项目
Debug的编译

第3章 软件配置管理
条款11:使用跨平台的bug报告和
跟踪系统
可访问性
跟踪平台相关bug的能力
BUgzilla
条款12:设置Tinderbox
条款13:用CVS或SLbversion来管理源代码
设置和使用CVS
条款14:使用patch
一个例子
patch选项
应对reject
patch和跨平台开发

第4章 安装与部署
条款15:为本地安装程序提供支持
XPInstall
平台安装

第5章 操作系统接口和库
条款16:使用标准API(如POSIX)
POSIX
支持POSIx、SVID、xPG和BSD
在GCC里使用标准支持
微软RuntimeLiNary对POSIX的支持
在Windows上使用GCC
决定支持哪个标准
条款17:考虑使用NSPR这样的平台
抽象库
为什么要开发NSPR
NSPR基础
线程
NSPR的其他功能

第6章 其他可移植性主题
条款18:慎用浮点数
不要把浮点值序列化为二进制
判断相等
条款19:显式地注明char类型的符号
条款20:避免序列化二进制数据
条款2l:避免类型长度和组织带来的
问题
整型的长度
NSPR里的类型
长度和效率
整型转换
struct的对齐和顺序

第7章 用户界面
条款22:从Model里把用户界面分离出来
用Model/View把用户界面和程序逻辑分开
用Publish/Subscribe在View和Model之间通讯
小结
条款23:开发一个跨平台用户界面的策略
影响跨平台GUI开发移植性的问题
选择Gu的策略

第8章 WXWidgets
WXwidgets概述
许可协议
安装WXWidgets
一个简单的例子:HellowxW:idgets
创建应用程序的用户界面
编译wxWidgets应用程序
控件与事件
容器widget
对话框
复合式widget
国际化和本地化

第9章 用c++开发跨平台GuI工具包
什么是xuL
DHTML
HTMI。
脚本语言
文档对象模型
样式系统
XUL
窗口和对话框
box元素
工具条
菜单
控件
其他widget
用xUL编程
用JavaScript为UI添加逻辑
用XPCOM和XPConnect接口化JavaSci乱
和C/C++
Frixul
Trixul支持的widget
Trixul的基本操作
widget
类的实现
创建widget,实现的对象
widget工厂
应用程序主循环
Trixul创建用户界面的步骤
文档、元素和DOM
创建widget
布局
滚动窗口和布局
和JavaScript集成
和C++组件集成
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证