【现代C++开发】使用现代的C++快速开发一款串口读写软件

在这里插入图片描述


前言

最近关于C++闹出来的动静态势挺大的,主要是由于爱美丽卡开始抵制C++,最近有不少文章都报道了这件事,比如
在这里插入图片描述
即使C++到了这个时候,C++也还是值得学习的,起码

不管你用起来体验怎么样,反正我开发的爽。

现阶段仍然有很多地方都是用C++写的,因此还是需要用到的,尽管现在都开始使用Rust来代替C++了,但Rust的别扭也是众所周知的,在Rust中文社区就看到不少人因此选择放弃Rust转回C++了(反正不可能是我,我C++主要还是嵌入式和玩)。这俩货,踩谁都不对,也没有必要去捧谁,他们都是差不多的,比如说Rust难,C++就不难吗?只不过是出来了从头就开始难的Rust而已,Rust也有其相对比较简单的地方。

C++到现在一直都是在发展的,对于关注C++的人来说,C++的新特性已经特别了解了,而我实际上也不过是个初学者(调库小子)。现在的C++已经发展的有点意思了,也有很多其他编程语言的特点,最主要是用起来没有以前那么难了(不用vcpkg,cmake后好用多了)。

现在我就xmake(一个项目管理工具兼包管理工具)和asio2(一个asio的框架,可以实现轻松各种网络应用,一般支持tcp,udp,http,websocket,rpc,ssl,icmp,serial_port.)来快速的开发个串口读写软件(整合例程)。

一、必要条件

要想跟我一起开始做,你需要完成两件事

  1. 安装好c++开发环境(我是Linux,其实什么操作系统都可以)
  2. 安装好xmake
  3. 安装好vscode
  4. 安装好vscode的cpp拓展包
  5. 安装好vscode的xmake拓展

确保满足以上条件后开始。

二、实现步骤

1.创建项目

首先是创建项目,xmake创建项目的命令如下(项目名c_serial_demo)

xmake create c_serial_demo

然后用vscode打开这个文件夹,里面有两个文件

  1. src - 用来存放你的源代码
  2. xmake.lua - xmake的配置文件

2.配置代码提示

首先要生成cpp代码提示的配置文件,按下ctrl + shift + p,输入c/c++,选择输入c/c++编辑配置(UI),然后关掉这个页面就好了,就会看到在.vscode下面多出个文件c_cpp_properties.json就成功了。

然后是生成xmake的代码编译命令文件,按下ctrl + shift + p,输入xmake,选择xmake:UpdateIntellisense,就会看到在.vscode下面多出个文件compile_commands.json就成功了。

最后在c_cpp_properties.json中的configurations中写入"compileCommands": ".vscode/compile_commands.json",写完后就像下面这个样子

{
   
    
    
    "configurations": [
        {
   
    
    
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [],
            "compilerPath": "/usr/lib64/ccache/clang",
            &