项目构建

采用CMake自动化构建项目,不想看官方文档可以参看以下两篇文章:

  1. CMake 保姆级教程(上)
  2. CMake 保姆级教程(下)

测试

代码的测试一般采用GoogleTest,注意其和CMake的集成,在FetchContent_Declare时获取最新的版本。


序列化/反序列化

经常会需要将数据序列化然后放到网络上传输并从网络上接收数据反序列化回来,此时可以利用nlohmann/json这个库帮助我们序列化/反序列化数据。通过该库提供的NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE等宏可以超级轻松地实现数据的序列化和反序列化。


Windows编程

netstat API版本

在Windows系统上可以通过在命令行键入netstat来查询本机开放的TCP/UDP端口相关状态,关于其C++ API版本可以参见微软官方提供的GetTcpTable2函数和GetExtendedUdpTable函数。