跳转到内容

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++ 相关主题。
华夏公益教科书