跳轉到內容

C++ 程式設計/網路連結

來自華夏公益教科書

參考網站

[編輯 | 編輯原始碼]
Bjarne Stroustrup 的 C++ 頁面。
C++ 標準庫技術報告。
C++ 標準委員會的官方網站,之前位於 http://anubis.dkuug.dk/jtc1/sc22/wg21/,ISO/IEC JTC1/SC22/WG21 是 C++ 程式語言的國際標準化工作組。
SGI 標準模板庫程式設計師指南。

編譯器和 IDE

[編輯 | 編輯原始碼]

免費或有免費版本

[編輯 | 編輯原始碼]
GCC,GNU 編譯器集合,其中包含 C++ 編譯器。
MinGW,GNU 編譯器集合和工具集的 Win32 移植版本,旨在與主機作業系統相容。
Cygwin,GCC 和 GNU Utils 的 Win32 移植版本,旨在模擬類 Unix 環境。
Microsoft Visual C++ 2010 Express Edition。它還允許您構建針對公共語言執行時 (CLR) 的應用程式。您應該自己閱讀他們的許可證以確保。MFC、ATL 和 Windows 標頭檔案/庫不包含在此版本中。要建立 Windows 程式,您需要 下載 Microsoft 平臺 SDK 以及(用於 Windows 標頭檔案和匯入庫)。
HP-GCC 包含針對 ARM 處理器(如 HP49g+)的 ARM 架構 HP 計算器,HP 特定庫,將 gcc 生成的二進位制檔案轉換為 HP 計算器適當格式的工具 (ELF2HP) 以及允許您在計算機上執行 ARM 程式的模擬器 (ARM 工具箱/ARM 啟動器)。目前,只有 Windows 版本可用,但該網站表示 Linux 和 Mac OS X 版本“正在路上”。
Ultimate++,一個面向程式設計師生產力的 C++ 交叉平臺和開源快速應用程式開發套件。它包含一組庫(GUI、SQL 等),以及一個整合開發環境。
IDE 可以與 GCC、MinGW 和 Visual C++ 7.1 或 8.0 編譯器(包括免費的 Visual C++ Toolkit 2003 和 Visual C++ 2005 Express Edition)一起使用,幷包含一個功能齊全的偵錯程式。
CodeLite,根據 GPL 許可條款開源,用於 C/C++ 程式語言的跨平臺 IDE(在 Windows XP SP3、(K)Ubuntu 8.04 和 Mac OSX 10.5.2 上測試過)。
Code::Blocks,C++ 交叉平臺和開源 (GPL2) IDE,執行在 Linux 或 Windows 上(使用 wxWidgets),支援 GCC(MingW/Linux GCC)、MSVC++、Digital Mars、Borland C++ 5.5 和 Open Watcom 編譯器。提供語法高亮顯示(可定製和可擴充套件)、程式碼摺疊、選項卡介面、程式碼完成、類瀏覽器、智慧縮排和帶有不同使用者的待辦事項列表管理等等。
Dev-C++,一個免費的 IDE,包括 MinGW 的發行版。Delphi 和 C 原始碼可用。
wxDev-C++,一個 IDE/RAD 工具,它是透過擴充套件 Dev-C++ 而產生的。它擁有之前的所有功能,以及其他一些功能。使用 GCC 作為編譯器,並添加了支援 wxWidgets 的 IDE 和表單設計器。
Quincy 2005,一個簡單的 Windows 下的 C 和 C++ IDE。安裝 MinGW 編譯器和 GDB 偵錯程式。設計為友好的學習環境。公有領域的 C++ 原始碼。
Djgpp,一個免費的 C、C++、Forth、Pascal 等編譯器,包括 C 原始碼。在 DOS 下執行。
Digital Mars,Zortech C++ 作者為 DOS、Win 和 NT 提供的免費 C 和 C++ 編譯器。
Macintosh Programmer's Workshop (MPW)。與 2001 年 8 月開發者 CD 上的“工具箱:開發工具包:MPW 等”資料夾中的軟體和文件相同。
OpenWatcom,Open Watcom 是 SciTech Software、Sybase® 和一組精選開發人員的共同努力,將 Sybase Watcom C、C++ 和 Fortran 編譯器產品引入開源社群。
Microsoft eMbedded Visual C++ 允許您為 Windows CE 開發。它包含一個 IDE,其中包含一個整合的偵錯程式。
Borland C++Builder v5.5
Eclipse,一個支援透過 CDT 外掛支援 C++ 的多語言 IDE。它需要 GCC 後端。有一個專門針對 C++ 開發人員的下載版本,不包含 Java 庫。
Intel 編譯器,Intel® 編譯器。與開發人員使用的工具相容,Intel 編譯器可以插入流行的開發環境,並具有與廣泛使用的編譯器的原始碼和二進位制程式碼相容性。每個編譯器購買都包含一年的 Intel® Premier 支援,提供 Intel® 架構的更新、技術支援和專業知識。[僅限 Intel CPU]
Comeau C/C++ 編譯器。可供購買的 Comeau C/C++ 支援所有主要和次要 C++ 和 C 特性的核心 C++03 語言增強功能,包括匯出。

其他 C++ 工具

[編輯 | 編輯原始碼]

免費 或有免費版本

[編輯 | 編輯原始碼]
Doxygen 是用於 C++、C 和其他程式語言的文件系統。
Valgrind,一個用於在執行時除錯和分析應用程式的系統。該系統在幾乎任何 x86 linux 上執行(抱歉,還沒有 amd64)。它可以檢測記憶體洩漏、非法記憶體訪問、雙重刪除、快取未命中、程式碼覆蓋率等等。
Microsoft Visual C++ Toolkit 2003,這是 Microsoft 提供的免費最佳化編譯器,開發人員可以使用它來開發和編譯 C 或 C++ 應用程式。它與 Visual Studio 的專業版附帶的編譯器相同。它與標準庫和示例程式碼一起提供。
ccbuild,一個用於跨目錄分發程式碼的 C++ 原始碼掃描構建實用程式。像動態 Makefile 一樣,ccbuild 查詢當前目錄中的所有程式(包含“int main”)並構建它們。為此,它讀取 C++ 原始碼並檢視所有本地和全域性包含。圍繞本地包含的所有 C++ 檔案都被視為主程式的物件。全域性包含使用配置檔案導致額外的編譯器引數。除了執行 g++ 之外,它還可以使用 DOT(Graphviz)圖建立簡單的 Makefile、A-A-P 檔案和圖依賴關係。(僅限 Linux)

免費或有免費版本

[編輯 | 編輯原始碼]
Boost 網站。Boost 是一個大型的、高質量的 C++ 庫集合,其中一些可能包含在未來的 C++ 標準中。
WFC(Win32 基礎類)網站。
WTL 網站。
Blitz++ 是一個用於科學計算的 C++ 類庫,其效能與 Fortran 77/90 相當。它使用模板技術來實現高效能。當前版本提供稠密陣列和向量、隨機數生成器以及小型向量和矩陣。Blitz++ 在開源 許可證 下免費分發,歡迎為該庫做出貢獻。
STLFilt 是一個用於 C++ 的 STL 錯誤訊息解密器。它簡化和/或重新格式化冗長的 C++ 錯誤和警告訊息,重點關注 STL 相關的診斷。
GMP 是一個用於任意精度算術的免費庫,它對有符號整數、有理數和浮點數進行運算。除了 GMP 執行的機器中的可用記憶體所隱含的限制外,精度沒有實際限制。
Crypto++ 庫是一個免費的 C++ 類庫,包含密碼方案。
Allegro 是一個面向 C/C++ 開發人員的遊戲程式設計庫,在 免費 分發,支援以下平臺:DOS、Unix(Linux、FreeBSD、Irix、Solaris、Darwin)、Windows、QNX、BeOS 和 MacOS X。它提供許多用於圖形、聲音、玩家輸入(鍵盤、滑鼠和操縱桿)和計時器的功能。它還提供定點和浮點數學函式、3D 函式、檔案管理函式、壓縮資料檔案和 GUI。
FLTK(發音為“fulltick”)是一個跨平臺的 C++ GUI 工具包,適用於 UNIX®/Linux®(X11)、Microsoft® Windows® 和 MacOS® X。FLTK 在沒有臃腫的情況下提供現代 GUI 功能,並透過 OpenGL® 及其內建 GLUT 模擬支援 3D 圖形。FLTK 被設計為足夠小巧且模組化,可以靜態連結,但也能夠作為共享庫正常工作。FLTK 還包含一個出色的 UI 構建器,稱為 FLUID,它可以在幾分鐘內用於建立應用程式。
Simple DirectMedia Layer 是一個用於 C/C++ 的跨平臺多媒體庫。它提供了對 2D 幀緩衝區和硬體加速 3D 圖形(使用 OpenGL)、音訊、執行緒、計時器、使用者輸入和事件處理的低階訪問。其他功能可透過“外掛庫”獲得。支援 Linux、Windows、BeOS、MacOS Classic、MacOS X、FreeBSD、OpenBSD、BSD/OS、Solaris、IRIX 和 QNX,並對其他平臺提供了一些非官方支援。SDL 在 GNU LGPL 許可證下可用。
針對舊平臺和來自第三方的 SDK。包含一個可再發行包,其中包含用於 Windows CE 1、2、HPC Pro、Palm-Size PC 1.2、HPC2000 的 MFC 庫以及來自 Windows CE 4.0 的少量庫。
Qt(發音為“cute”),一個多平臺 API,包含 UI 工具包和核心庫。它非常模組化,但要有效地使用它,您應該至少使用 UI+Core。
Loki 是一個 C++ 庫,它演示並鼓勵使用泛型程式設計和設計模式。它是為配合名為“現代 C++ 設計”的書籍而編寫的。該庫包含一個引數化的智慧指標類、泛化函式物件、一個多執行緒抽象以及對重要模式的一些幫助。開源,在 MIT 許可證下發布。
TinyThread++,一個輕量級、可移植的 C++ 執行緒庫,它實現了 C++0x 標準的一個子集,包括 thread、mutex 和 condition_variable 類。開源,在 zlib/libpng 許可證下發布。

商業

[edit | edit source]
Poco C++ 庫。使用現代、標準 ANSI C++ 編寫,使用 C++ 標準庫。模組化設計,很少的外部依賴關係,開箱即用。良好地將“經典”面向物件設計與現代 C++ 相結合。程式碼簡潔易懂,編碼風格一致,測試套件全面。

C++ 編碼規範

[edit | edit source]

原始碼格式規則

[edit | edit source]
Kernighan 和 Ritchie(或 K&R)風格
GNU 程式設計風格指南
Linux 核心編碼風格

全面的原始碼規範指南

[edit | edit source]
QuantLib 程式設計風格指南
Bjarne Stroustrup 的 C++ 風格和技術常見問題解答
C++ 風格的最佳選擇 與 Bjarne Stroustrup 的對話,第一部分,作者:Bill Venners
KDE 與 C++ 的二進位制相容性問題
Mozilla C++ 可移植性指南
C++ 程式設計,規則和建議,作者:FN/Mats Henricson 和 Erik Nyquist
Wildfire C++ 程式設計風格,附理由,作者:Keith Gabryelski
關於良好 C++ 風格的思考(技術),作者:GoingWare
Google C++ 風格指南
CERT C++ 安全編碼標準
聯合攻擊戰鬥機飛行器:C++ 編碼標準 2005
C 和 C++ 風格指南,作者:Chris Lott,列出了許多流行的 C++ 風格指南。
MISRA C++:汽車行業軟體可靠性協會 (MISRA) 釋出的用於在關鍵系統中使用 C++ 語言的指南(基於 C++ 的一個子集)。
一篇非常有趣的諷刺文章,它顛覆了有關編碼風格的問題,作者:Roedy Green。

線上 C++ 書籍、指南和一般資訊

[edit | edit source]

與本主題相關的其他作品的參考資料

C/C++ 頻道 (http://silversoft.net/) (俄語頻道)
C++ 頻道 (葡萄牙語頻道)
C++ 頻道 (德語頻道)
C++ 頻道
面向 C++ 新手的頻道
DynastyNet 上關於 C++ 主題的頻道。

使用者組

[編輯 | 編輯原始碼]
ACCU,原名為 C 和 C++ 使用者協會,是一個非盈利組織,致力於提高所有級別的程式設計專業性。雖然主要關注 C 和 C++,但現在也對 Java、C# 和 Python 感興趣。

新聞組 (NNTP)

[編輯 | 編輯原始碼]

部落格和維基

[編輯 | 編輯原始碼]
一個類似維基百科的頁面,其中包含大量程式碼示例。
TWiki C++ Web 是一個使用 GNU 自由文件許可證的 C++ wiki
Wikicities C++ 是一個多語言 C++ wiki (目前有英語和波蘭語)。

郵件列表

[編輯 | 編輯原始碼]
面向物件數值列表,討論面向物件環境中的科學計算的論壇。一個檔案可用
Stackoverflow 是一個知識共享社群,包括討論 C++ 相關主題。
華夏公益教科書