前言
最近关于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.)来快速的开发个串口读写软件(整合例程)。
一、必要条件
要想跟我一起开始做,你需要完成两件事
- 安装好c++开发环境(我是Linux,其实什么操作系统都可以)
- 安装好xmake
- 安装好vscode
- 安装好vscode的cpp拓展包
- 安装好vscode的xmake拓展
确保满足以上条件后开始。
二、实现步骤
1.创建项目
首先是创建项目,xmake创建项目的命令如下(项目名c_serial_demo)
xmake create c_serial_demo
然后用vscode打开这个文件夹,里面有两个文件
- src - 用来存放你的源代码
- 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",
&