C++ 程式設計/程式碼/API/通用包裝器
外觀
通用 GUI/API 包裝器是程式設計庫,它們提供統一的平臺無關介面 (API) 到作業系統,而不管底層平臺是什麼。這些庫極大地簡化了跨平臺軟體的開發。
使用包裝器作為可移植性層將為應用程式提供一些或所有以下好處
- 獨立於硬體。
- 獨立於作業系統。
- 獨立於對特定版本的更改。
- 獨立於 API 樣式和錯誤程式碼。
跨平臺程式設計不僅僅是 GUI 程式設計。跨平臺程式設計處理 C++ 標準語言未指定的程式碼部分的最低要求,因此程式可以在不同的硬體平臺上編譯和執行。
以下是一些跨平臺 GUI 工具包
- Gtkmm - C GUI 庫 GTK+ 的介面。它不是跨平臺設計的,而是多平臺的,即可以在許多平臺上使用。
- Qt (http://qt-project.org) - 一個跨平臺的(Qt 是 Linux KDE 桌面環境的基礎,並支援 X Window System (Unix/X11)、Apple Mac OS X、Microsoft Windows NT/9x/2000/XP/Vista/7 和 Symbian OS),它是一個面向物件的應用程式開發框架,廣泛用於開發 GUI 程式(在這種情況下它被稱為小部件工具包),以及開發非 GUI 程式,如控制檯工具和伺服器。它被用於許多商業應用程式,例如 Google Earth、Linux 版 Skype 和 Adobe Photoshop Elements。根據 LGPL 或商業許可證釋出。
- wxWidgets (http://wxwidgets.org/) - 一個小部件工具包,用於使用一個程式碼庫為 Win32、Mac OS X、GTK+、X11、Motif、WinCE 等平臺上的跨平臺應用程式建立圖形使用者介面 (GUI)。它可以從 C++、Python、Perl 和 C#/.NET 等語言中使用。與其他跨平臺工具包不同,wxWidgets 應用程式看起來和感覺起來是原生的。這是因為 wxWidgets 使用平臺自身的原生控制元件,而不是模擬它們。它也很廣泛、免費、開源且成熟。wxWidgets 不僅僅是一個 GUI 開發工具包,它還提供用於檔案和流、應用程式設定、多執行緒、程序間通訊、資料庫訪問等的類。
- FLTK “快速輕量級工具包”