这是一份持续改进的动态文件,可帮你有效地使用现代 C++。“现代 C++”是指 C++11 及更新版本。
这些指南主要关注相对较高层次的问题,如接口、资源管理、内存管理和并发性。这些规则影响应用架构和库设计。遵循这些规则将导致代码在静态类型安全性上有保障,没有资源泄漏,并且能捕获比现今代码中更多的编程逻辑错误。而且它将运行得很快——你完全有能力做到正确。
本书对低层次的问题,如命名约定和缩进风格,不太关心。
超快的C++单头文件测试框架
这是一款轻量级、快速的 C++ 测试框架,它使用起来十分方便,引入头文件即可使用,而且速度快、编译时间短,支持 C++ 11/14/17/20。
它与其他测试框架的主要区别在于它轻巧且非侵入式:
1.在包含标头和编写数千个断言方面,编译时间超轻
2.即使在MSVC / GCC / Clang最激进的警告级别上也不会产生任何警告
3.可以使用标识符从二进制文件中删除所有与测试相关的内容DOCTEST_CONFIG_DISABLE
4.线程安全- 断言可以从单个测试用例产生的多个线程使用 -示例
5.断言可以在测试上下文之外使用——作为通用断言库——示例
6.没有全局命名空间污染(一切都在doctest::)并且不会拖拽任何标题
7.可移植的C++11(C++98 使用标签1.2.9)有 100 多种不同的 CI 构建(静态分析、消毒剂……)
8.二进制文件 (exe/dll) 可以使用另一个二进制文件的测试运行程序 => 在单个注册表中进行测试 -示例
Doctest | #框架 #c++
这是一款轻量级、快速的 C++ 测试框架,它使用起来十分方便,引入头文件即可使用,而且速度快、编译时间短,支持 C++ 11/14/17/20。
它与其他测试框架的主要区别在于它轻巧且非侵入式:
1.在包含标头和编写数千个断言方面,编译时间超轻
2.即使在MSVC / GCC / Clang最激进的警告级别上也不会产生任何警告
3.可以使用标识符从二进制文件中删除所有与测试相关的内容DOCTEST_CONFIG_DISABLE
4.线程安全- 断言可以从单个测试用例产生的多个线程使用 -示例
5.断言可以在测试上下文之外使用——作为通用断言库——示例
6.没有全局命名空间污染(一切都在doctest::)并且不会拖拽任何标题
7.可移植的C++11(C++98 使用标签1.2.9)有 100 多种不同的 CI 构建(静态分析、消毒剂……)
8.二进制文件 (exe/dll) 可以使用另一个二进制文件的测试运行程序 => 在单个注册表中进行测试 -示例
Doctest | #框架 #c++
该项目包含图文教程和源码,讲解了 socket、epoll、线程池、CMake 等知识点
教程模仿《30天自制操作系统》,面向零经验的新手,教你在30天内入门Linux服务器开发。教程更偏向实践,将会把重点放在如何写代码上,而不会花太多的篇幅讲解背后的计算机基础原理,涉及到的地方会给出相应书籍的具体章节,但这并不代表这些理论知识不重要,事实上理论基础相当重要,没有理论的支撑,构建出一个高性能服务器是无稽之谈。
本教程的代码都放在code文件夹里,每一天学习后都可以得到一个可以编译运行的服务器,不断迭代开发。
在code文件夹里有每一天的代码文件夹,进入该文件夹,使用make命令编译,会生成两个可执行文件,输入命令./server就能看到今天的学习成果!然后新建一个Terminal,然后输入./client运行客户端,与服务器交互。
学完本教程后,你将会很轻松地看懂muduo源码。
30dayMakeCppServer | #C++