C++ 程式設計/網路連結
外觀
< C++ 程式設計
- Bjarne Stroustrup 的 C++ 頁面。
- C++ 標準庫技術報告。
- C++ 標準委員會的官方網站,之前位於 http://anubis.dkuug.dk/jtc1/sc22/wg21/,ISO/IEC JTC1/SC22/WG21 是 C++ 程式語言的國際標準化工作組。
- SGI 標準模板庫程式設計師指南。
- 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 語言增強功能,包括匯出。
- 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++ 習語。
- Windows 程式設計,一本關於 Windows API(C 和 VB Classic)、MFC(C++)、COM 以及 ActiveX 模組建立的華夏公益教科書。
- 最佳化 C++,涵蓋 C++ 程式設計師如何提高程式效能。
- Linux 應用程式除錯技術,一本關於在 Linux 下除錯應用程式的實踐指南。
- C++ 實戰,作者:Bartosz Milewski
- 21 天學會 C++,第二版
- 更多 C++,作者:Tim Love,2001 年 7 月 5 日
- 使用 C++ 的面向物件程式設計入門,作者:Peter Müller,1997 年。
- 面向科學家的 C++ 程式設計,作者:Roldan Pozo 和 Karin Remington
- 面向 Unix 的 C++,一個已失效的連結,一個快速參考,包括 C 的變體
- STL 快速參考,可能是由 Pablo Halpern 撰寫,
- C++ 對話,作者:Steve Heller
- 學習 C++:入門點索引
- C++ 程式設計方法PDF,作者:Al Dev(Alavoor Vasudevan),2001 年
- 像計算機科學家一樣思考:C++
- 面向初學者的 C++ 程式設計教程
與本主題相關的其他作品的參考資料
- Kohl 等人,2004 年:C/C++ 參考,位於 cppreference.com
- 面向 C 程式設計師的 C++ 註釋,作者:Frank B. Brokken
- C / C++ 教程,位於 pickatutorial.com,一個線上 C / C++ 教程合集
- cplusplus.com,一個開放資源,包含各種網路討論組
- Scott Meyers 的網站,C++ 軟體開發專家。他撰寫了暢銷的“Effective C++”系列書籍(“Effective C++”、“More Effective C++”和“Effective STL”),並編寫和設計了“Effective C++ CD”
- Cprogramming.com,一個旨在幫助您學習 C 或 C++ 併為您提供 C 和 C++ 程式設計資源的網站。
- C++ 雜項書籍、新聞和文章,由 orelily.com 提供。
- Win32 程式設計常見問題解答,來自 iseran.com
- CppHeresy 在 c2.com 上,關於如何保持 C++ 程式碼簡單的指南
- C++ 常見問題解答 在 parashift.com 上,有時也稱為C++ 常見問題解答精簡版。
- 有缺陷的 C++:由 Yossi Kreinin 在 2009 年總結了他認為 C++ 程式語言中的主要缺陷。(相關:C 程式語言的特殊性)。
- Boost C++ 庫 線上書籍,以教程的方式介紹了許多 Boost 庫,並補充了官方文件。根據知識共享署名 - 非商業性使用 - 禁止演繹 4.0 國際許可證。
- #C at (irc://irc.tambov.ru)
- C/C++ 頻道 (http://silversoft.net/) (俄語頻道)
- #C++ at (irc://hub.ptnet.org)
- C++ 頻道 (葡萄牙語頻道)
- #C++ at (irc://irc.euirc.net)
- C++ 頻道 (德語頻道)
- ##C++ at (irc://irc.freenode.net)
- C++ 頻道
- #c++newbie at (irc://irc.freenode.net)
- 面向 C++ 新手的頻道
- #c++ at (irc://irc.dynastynet.net)
- DynastyNet 上關於 C++ 主題的頻道。
- ACCU,原名為 C 和 C++ 使用者協會,是一個非盈利組織,致力於提高所有級別的程式設計專業性。雖然主要關注 C 和 C++,但現在也對 Java、C# 和 Python 感興趣。
- comp.std.c++ - 常見問題解答
- comp.lang.c++.leda
- comp.lang.c++.moderated
- comp.lang.c++
- microsoft.public.vc.mfc
- microsoft.public.vc.stl
- 一個類似維基百科的頁面,其中包含大量程式碼示例。
- TWiki C++ Web 是一個使用 GNU 自由文件許可證的 C++ wiki
- Wikicities C++ 是一個多語言 C++ wiki (目前有英語和波蘭語)。
- 面向物件數值列表,討論面向物件環境中的科學計算的論壇。一個檔案可用。
- Stackoverflow 是一個知識共享社群,包括討論 C++ 相關主題。