
C++
文章平均质量分 86
iLiuXH
这个作者很懒,什么都没留下…
展开
-
C++ 多线程支持的演进和相关 API 清单
它们提供的都是 C 语言的 API,在 C++ 上使用时通常会将其封装成类,顺便在这层封装上解决兼容性问题。注意,编译时依然要显式链接上 pthread 库,因为 C++11 的 std::thread 本质上就是对操作系统提供的多线程 API 做了封装,所以在 Linux 上依然依赖 pthread 库。下面会依次介绍 C++11 之前 Linux 和 Windows 平台上的 C 风格的多线程 API,以及 C++11 标准库提供的统一的面向对象的多线程 API。原创 2024-06-10 01:39:02 · 474 阅读 · 0 评论 -
编译、构建、CMake 中的一些概念:cmake make ninja gcc visual studio...
所以编译可以有两层意思,一是源代码到可执行文件生成过程的统称,二是这个过程中的第二步,即编译的第二步是编译(:。但实际上,当项目工程逐渐庞大起来之后,事情变得越来越复杂,直接使用编译命令编写编译脚本非常困难,更何况很多模块编译的时候是可以并行编译出目标文件,最后再链接到一起,这可以大大加快编译过程。它包含的范围有两种说法,一种是源代码到可执行文件这个生成过程中所涉及的所有工具,也就是用更专业的"编译工具链"来指代前文所说的"编译器",另一种认为不仅包含这些工具,还包含构建工具。项目中,我们更重视前者。原创 2024-06-07 14:41:23 · 773 阅读 · 0 评论 -
Windows 下基于 Visual Studio Code 使用 CMake + MinGW 配置 C++ 开发环境
windows 下配置 C++ 开发环境经常会遇到各种奇怪的问题。很大一部分原因是 Windows 有自带的开发工具和配套的编译器,导致切换其他开发工具和编译器时因为默认配置而遇到冲突。这里记录了在 Win10 基于命令行或 VSCode 使用 CMake + MinGW 配置开发环境的几种方法以及注意的问题。如果对编译器、构建工具、CMake 等扮演的角色有基本了解,可以更清楚配置环境时做的事情。原创 2024-06-07 00:50:41 · 6684 阅读 · 0 评论