文章目录
摘要
开发c/c++语言有多种工具软件,老牌的vc6.0、devc++、CodebBocks,比较新的有微软出品的Visual Studio2022,Jetbrains 出品的Clion这些都是开箱即用IDE,无需安装编译器(内置)。而另一种方法是文本编辑器加编译器组合。常见的编辑器有Sublime Text、Visual Studio Code(VSCode)、Atom、Vim、Notepad++,配合windos版gcc完成编译执行。在进行服务器程序开发时远程连接是必不可少的,专用的远程连接工具有xshell7、MobaXterm、FianlShell、WindTerm,VSCode配合插件也能进行远程连接开发。在开发c/c++程序时编译链接是必要步骤,开箱即用的IDE环境下编译相对简单,使用组合工具开发相对较复杂点,但也有线程的工具,目前最流行的c/c++语言构建过程管理工具是cmake。本文主要内容就是在windos下使用vscode+gcc+cmake搭建开发环境,使用远程连接插件开发linux程序。
关键字: c/c++开发、vscode、gcc、cmake、远程连接
下载安装vscode
进入官网下载,点击windos版下载链接
双击安装包,同意协议,点击下一步
选择安装路径,点击下一步
默认选项直接下一步
勾选添加右键菜单,方便打开文件、文件夹
确认安装等待完成
安装插件
c/c++插件
颜色主题
cmake工程配置插件
cmake语言提示高亮插件
中文插件
远程连接插件
下载gcc并验证使用
在国外一个个人网站下载,此网站上的编译器比较新,网站地址 https://winlibs.com,进入网站向下找到下载链接
选择框里任意一个,框前边的链家包含的工具更多(一般用不到),下载后直接解压到任意位置
进入解压的bin文件夹,把这个路径添加到系统环境变量PATH中。以win11为例 设置 -->系统–>高级系统设置–>环境变量–>系统变量–>在PATH中添加解压后的bin文件夹路径
在命令行中验证添加成功没有,wim+r,输入cmd打开命令行,输入 gcc -v(注意隔了一个空格),出现了版本号(版本号不一定相同,只有有就行)说明添加成功,没有成功重启电脑系统重新加载环境变量再验证,还是没有验证成功查询下如何添加系统环境变量
创建demo演示工程
准备工程文件
准备main.c文件,以及CMakeLists.txt文件存放在同一个文件夹下。
#include <stdio.h>
int main(int argc, char **argv)
{
printf("hello world\n");
return 0;
}
cmake_minimum_required(VERSION 3.20)
project(main C)
set(CMAKE_C_STANDARD 99)
add_executable(main main.c)
使用vscode构建运行程序
用vscode打开文件夹右下角会弹出提示配置工程,点击是确认配置工程
再选择上文下载的gcc编译器,如果环境变量添加失败以下弹窗中将没有上文下载的编译器
vscode输出栏中显示如下内容
在左侧多出一个build文件夹,该文件夹存放编译构建过程文件
在左下侧有工程版本、构建、调试、运行按钮
直接点击运行会先构建再执行程序,在终端窗口中打印 hello world
调试
打断点
点击下栏调试按钮,进入调试会话。在快捷调试命令中有 单步执行 ,跳过当前行,跳出、重新启动、停止,gdb命令行是能执行gdb的调试命令
远程连接
本文使用VMware虚拟机ubuntu22.4作为远程linux系统
生成ssh秘钥对
在windos终端中执行 ssh-keygen命令,一路enter键确认。
在windos用户目录 .ssh文件夹下会生成秘钥对,将 id_rsa.pub文件上传到linux系统用户目录中 .ssh文件夹下,并重命名文件名为authorized_keys
使用vscode远程连接
选择连接到主机
在输入框中输入:用户名+@+ip地址,再点击下方连接远程系统
弹出新窗口,此时任何文件系统的操作都是控制远程系统的,不是本地windos端的,终端执行命令也是远程系统的
在远程系统中安装插件
创建demo演示工程
环境准备,Ubuntu使用apt包管理工具安装,在终端中执行以下命令
sudo apt install cmake build-essential -y
准备上文提到的相同文件,直接使用sftp工具上传到linux系统,存放到用户目录任意位置,用vscode打开文件夹。
选择编译器
由于我安装了arm交叉编译器,截图可能不一样。选择自己使用的就行了
配置成功直接点击运行按钮即可在终端中打印 hello world
调试
调试流程与上文在windos本地端相同,也支持断点调试
写在后面
如果本文对你有帮助不要吝啬你的点赞、收藏、评论、关注,也欢迎嗮出你的博客一起进步