《C++跨平台開發技術指南》是機械工業出版社出版的圖書,作者是(美國)SydLogan。
基本介紹
- 書名:C++跨平台開發技術指南
- 作者:(美國)SydLogan
- 譯者:徐旭銘
- ISBN:9787111250821
- 出版社:機械工業出版社
- 裝幀:平裝
- 開本:16
內容簡介,作者簡介,編輯推薦,目錄,
內容簡介
《C++跨平台開發技術指南》詳細介紹c++語言的跨平台技術,包含的主要內容有:Netscape在向數百萬Win.dows、.MacOS和Linux用戶發布瀏覽器時採用的策略和過程;如何使用基於標誌的API,包括POSIX和ST。;如何避免隱晦的移植性陷阱,相關的如浮點數、char類型、數據序列化,以及c++的類型;如何建立一個有效的跨平台bug報告和跟蹤系統等。《C++跨平台開發技術指南》內容詳實,實例豐富。適合軟體開發技術人員參考。
作者簡介
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++跨平台開發技術指南》是開發可移植C/C++應用程式的權威讀物,它指導編寫的代碼可以無縫地運行在Windows、Macirltostl和Linux平台上而不需要犧牲任何功能、易用性或是產品的品質。
Mozilla和Netscape的資深工程師Syd Logan系統地講解了所有和軟體移植性有關的技術和管理上的挑戰。包括編碼、測試以及部署上的設計和考量。基於他豐富的跨平台開發經驗,Logarl完整地討論了從原生API的使用到最新的可移植GUI開發策略等一系列問題。他還展示了如何避免傳統跨平台開發方法裡存在的問題,以及如何達到特性的對等性。
《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工具包的設計。
目錄
“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++組件集成
……