vscode用SSH远程开发c语言

news2024/9/20 12:38:24

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.o
	g++ test.o -o test
test.o:test.cpp
	g++ -c test.cpp

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1532823.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

电脑小白入门|Windows系统下只要记住这几点,你就能流畅使用!

前言 前段时间发现有很多小伙伴在使用电脑这个问题上遇到了很大的难题:到底什么时候该用鼠标左键单击、什么时候该双击;电脑的快捷键那么多怎么记得住等等的问题。 今天小白就稍微来讲解一下,这个帖子适合Windows电脑都不会使用的小伙伴。 …

流畅的 Python 第二版(GPT 重译)(四)

第二部分:函数作为对象 第七章:函数作为一等对象 我从未认为 Python 受到函数式语言的重大影响,无论人们说什么或想什么。我更熟悉命令式语言,如 C 和 Algol 68,尽管我将函数作为一等对象,但我并不认为 Py…

iframe动态操作标签分享

前言 分享一个近期工作中遇到的关于IFrame的需求,以及解决方案。 需求大致是说在我们系统中嵌套了另一个文档页面,这个文档页面是爬取的,并且页面是原先使用后端渲染实现的,取到的css和script标签都是相对路径比如: "./mia…

【文件操作和IO】

文件操作和IO 1.文件2. 硬盘上文件的目录结构3. 文件路径4. 文件重要分类:5. Java中操作文件5.1 Java对于文件操作的API5.2 Java中使用File类来进行文件操作5.3 File类属性5.4 构造方法5.5 方法: 6. 文件内容的读写 -- 文件流(数据流&#xf…

32.768K晶振X1A000141000300适用于无人驾驶汽车电子设备

科技的发展带动电子元器件的发展电子元器件-“晶振”为现代的科技带来了巨大的贡献,用小小的身体发挥着大大的能量。 近两年无人驾驶汽车热度很高,不少汽车巨头都已入局。但这项技术的难度不小,相信在未来几年里,无人驾驶汽车这项…

改进粒子群优化算法||粒子群算法变体||Improved particle swarm optimization algorithm

粒子群算法(Particle Swarm Optimization,PSO)是一种基于群体智能的优化算法,其思想来源于鸟群寻食和鱼群捕食等自然现象。PSO算法通过模拟群体智能的行为,以一种启发式的方式寻找最优解,因此具有全局搜索能…

数学建模(熵权法 python代码 例子)

目录 介绍: 模板: 例子:择偶 极小型指标转化为极大型(正向化): 中间型指标转为极大型(正向化): 区间型指标转为极大型(正向化)&#xff1a…

【Web应用技术基础】HTML(4)——表单类的标签

目录 题目1:文本框 题目2:密码框 题目3:单选框 题目4:多选框 题目5:单选框选中 题目6:禁用disabled 题目7:lable标签 题目8:下拉框 题目9:textarea 题目10&…

【Java之老话常谈】学习Java可以用来做什么?

对于很多新手来说,刚开始接触Java会很迷惘,不知道Java可以做什么。其实Java 可以做的东西太多了,手机游戏、中间件、软件、网站,电脑游戏,以及现在流行的安卓手机app等,都是由java语言编写的。由于Java拥有很高的安全性、平台移植性等,所以受到广大程序员的喜爱。 java…

接口测试、postman、测试点提取【主】

接口测试是测试系统组件间接口的一种测试 接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点 测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系 文章目录 HTTP接口 & Web Service接口RESTful接口…

ubuntu10.04 apache2.2开启tls1.2的支持,使现代的edge和firefox浏览器能正常访问https

最近发现自己ubuntu10.04服务器上的apache https无法通过win11上的edge和firefox浏览器访问,但xp下的ie6和ie8没有问题。 firefox的错误提示为“此网站可能不支持TLS 1.2协议,而这是Firefox支持的最低版本”。 经过检查发现: IE6访问https所需的版本是SS…

virtualBox镜像复制

镜像复制 有一个镜像后,图方便,想直接使用这个vdi文件,但vdi有个uuid值,同一个虚拟机中不能同时存在两个同样的uuid的介质的,普通的复制文件所得到的uuid是一样的 ,所以需要用到自带的方法复制vdi文件&…

隐私计算实训营学习二:隐私计算开源如何助力数据要素流通

文章目录 一、数据要素流转与数据内外循环二、数据外循环中的信任焦虑三、数据要素流通对隐私计算的期望四、隐私计算开源助力数据要素流通 一、数据要素流转与数据内外循环 数据要素流转过程(从数据采集加工->到数据价值释放): 链路主要包括采集、存储、加工、…

计算机网络面经-什么是IPv4和IPv6?

前言 Internet协议(IP)是为连接到Internet网络的每个设备分配的数字地址。它类似于电话号码,是一种独特的数字组合,允许用户与他人通信。IP地址主要有两个主要功能。首先,有了IP,用户能够在Internet上被识别…

JUnit5的条件测试、嵌套测试、重复测试

条件测试 JUnit5支持条件注解,根据布尔值判断是否执行测试。 自定义条件 EnabledIf和DisabledIf注解用来设置自定义条件,示例: Test EnabledIf("customCondition") void enabled() { // ... } Test DisabledIf("cust…

动态规划课堂6-----回文串问题

目录 引言: 例题1:回文子串 例题2:回文串分割IV 例题3:分割回文串II 例题4:最长回文子序列 例题5:让字符串成为回文串的最小插入次数 引言: 回文字符串 是正着读和倒过来读一样的字符串。…

Sora后时代文生视频的探索

一、写在前面 按常理,这里应该长篇大论地介绍一下Sora发布对各行业各方面产生的影响。不过,这类文章已经很多了,我们今天主要聊聊那些已经成熟的解决方案、那些已经可以“信手拈来”的成果,并以此为基础,看看Sora发布…

PHP全新美化广告横幅在线制作源码

源码简介 可以做网站的引流不需要安装上传就可以使用,在第一版基础上做了二次开发更加好用 注意:主机和服务器均可架设搭建,如果使用宝塔架设点击访问的时候提示找不到文件路径的时候,记得点击网站目录把防跨站攻击先关闭,这样就可以正常访问了,这款是…

用pdf2docx将PDF转换成word文档

pdf2docx是一个Python模块,可以将PDF文件转换为docx格式的Word文档。 pdf2docx模块基于Python的pdfminer和python-docx库开发,可以在Windows、Linux和Mac系统上运行。它可以从PDF文件中提取文本和图片,并将其转换成可编辑的Word文档&#xf…

手撕算法-二叉搜索树与双向链表

牛客BM30。 描述:https://www.nowcoder.com/practice/947f6eb80d944a84850b0538bf0ec3a5?tpId295&tqId23253&ru/exam/oj&qru/ta/format-top101/question-ranking&sourceUrl%2Fexam%2Foj分析:二叉搜索树的中序遍历是递增序列。可以利用…