“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++組件集成
……