当前位置: 首页 > news >正文

vscode用SSH远程开发c语言

vscode配置远程

这里我使用虚拟机进行展示,首先需要你的虚拟机安装好ssh

没安装好就执行下面的命令安装并开启服务

sudo apt-get install ssh
sudo service ssh start
ps -e | grep ssh

vscode安装 remote-ssh扩展

在这里插入图片描述

点击左下角的远程连接,我这里已经连接好一个虚拟机了,所以有一个ip名字。
在这里插入图片描述

连接到主机

在这里插入图片描述

第一次连接,添加新的ssh主机

在这里插入图片描述

通过输入ssh 虚拟机用户名@虚拟机ip添加,如我的就是ssh iceylia@172.18.190.85

在这里插入图片描述

输入密码后

会打开一个config文件,其中Host是名字,可以随便设置。

在这里插入图片描述

关掉重新点击左下角的远程连接,连接到主机
此时以及有刚刚添加的虚拟机

在这里插入图片描述

点击后输入密码确定即可。

安装c++插件

将这些插件配置好,中文不是必要的
在这里插入图片描述

编译c程序

远程环境需要先配置好g++还有gdb以及gcc

sudo apt install g++
sudo apt install gdb
sudo apt install gcc

选项一 直接使用命令行编译

假如不想学CmakeLists或者makefile,到这里直接用命令行编译也行,但是编译大程序就很麻烦

比如有一个test.cpp程序

g++ -o test test.cpp

在这里插入图片描述
直接执行就可
在这里插入图片描述
这里就不讲如何用命令行编译更复杂的程序了

选项二 MakeLists(推荐)

打开运行和调试
在这里插入图片描述
点击创建launch.json

创建后,点击显示所有自动调试配置,添加配置
在这里插入图片描述
选择gdb启动,自动就写好了。

此时写一个简单的CmakeLists.txt放到主程序下
在这里插入图片描述

cmake_minimum_required(VERSION 3.0)project(test)# CMAKE_CXX_FLAGS是预设的变量,用于存放c++编译选项
# 下面代码将原有的编译选项取出,在后面附加上c++0x标准,也可以-std=c++11、-std=c++14 或者 -std=c++17
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")add_definitions("-Wall -g")# 生成可执行文件
add_executable(${PROJECT_NAME} test.cpp)

点击test.cpp,此时右上角的调试和运行都能执行。

在这里插入图片描述
测试调试功能只需要加个断点,点击调试。
在这里插入图片描述
需要注意在第二次启动的时候可能会让你配置cmake的地址,不需要选择windows的cmake,不用设置,空着即可。

选项三 Makefile

Makefile是对命令行命令的封装,cmake生成的就是一个makefile文件,所以命令行命令是最基本的,makefile能实现所以cmake能实现的功能。

Makefile就是将命令行编译的内容集中到一个文件里面

比如下面是一个简单的makefile
在这里插入图片描述

test:test.og++ test.o -o test
test.o:test.cppg++ -c test.cpp

执行make后就能自动执行
在这里插入图片描述

http://www.lryc.cn/news/322180.html

相关文章:

  • 鸿蒙Next 支持数据双向绑定的组件:Checkbox--Search--TextInput
  • 跨越时空的纽带:探索Facebook如何连接人与人
  • LabVIEW湍流等离子体束热效率优化
  • 21个 JVM 技术点详解(附面试解答)
  • mysql逗号分隔字段拆成行简述
  • 最新梨花带雨网页音乐播放器二开优化修复美化版全开源版本源码下载
  • golang 操作redis
  • macOS - 获取硬件设备信息
  • 突破编程_C++_STL教程( queue 的基础知识)
  • Hystrix 容错机制数据监控可视界面无法加载
  • 【Java】POI解析excel
  • AI浸入社交领域,泛娱乐APP如何抓住新风口?
  • 遥感图像地物分类流程
  • JS13-事件的绑定和事件对象Event
  • pycorrector检测OCR错字实践
  • RDD算子介绍(三)
  • Redis的脑裂问题
  • 【算法】雪花算法生成分布式 ID
  • FFplay使用滤镜添加字幕到现有视频显示
  • 【Python + Django】Django模板语法 + 请求和响应
  • 大数据面试总结 四
  • Spring Boot: 使用MongoOperations操作mongodb
  • PyTorch 深度学习(GPT 重译)(六)
  • MyBatis3源码深度解析(十七)MyBatis缓存(一)一级缓存和二级缓存的实现原理
  • Go --- Go语言垃圾处理
  • 力扣每日一题30:串联所有单词的子串
  • vim | vim的快捷命令行
  • 项目管理平台-01-BugClose 入门介绍
  • web集群-lvs-DR模式基本配置
  • 基于深度学习的面部情绪识别算法仿真与分析