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++ 相关主题。