在 C++ 中使用 CMake 构建专属于自己的轮子库
1. 前言 掌握一门编程语言的关键之一就是多动手写代码。 当我不知道该写什么代码时,通常会选择造轮子。 造轮子的过程中不仅能让我更加熟悉语言的特性,还能让我深入思考这些轮子的底层实现原理。 同时,造好的轮子也可以用于以后的项目中,从而提高开发效率。 C++ 是一门非常适合造轮子的语言,搭配上 CMake 这个构建工具,可以轻松构建出一个专属于自己的轮子库。 这样在以后的项目中,只需要引入这个库,就可以使用自己造的轮子了。 例如,当我曾经实现了一个线程池,未来如果要使用它, 只需要 include 我的 wheel 库: #include <wheel/thread_pool.hpp> int main() { wheel::ThreadPool thread_pool(4); ... } 本文将会用一个简单的例子来介绍如何使用 C++ 和 CMake 来构建一个专属于自己的轮子库。 2. 例子介绍 本文的目标是实现一个加法器,输入两个整数,加法器会输出它们的和。 这个加法器用到了wheel库中的math.hpp文件里面的add函数。 3. 构建轮子库 首先来看一下最终的 wheel 库目录结构: wheel ├── CMakeLists.txt ├── include │ └── wheel │ └── math.hpp └── src └── math.cpp 约定include/wheel内存的头文件是对外公开的接口,src内存源文件(也可以存私有头文件),test内存的测试文件。 接下来我们分别来看一下这几个文件的内容。 include/wheel/math.hpp定义要暴露的接口: #pragma once namespace wheel { int add(int a, int b); } // namespace wheel 信息 ...