vscode用SSH远程开发c语言

vscode配置远程

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

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

bash 复制代码
sudo apt-get install ssh
sudo service ssh start
ps -e | grep ssh

vscode安装 remote-ssh扩展

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

连接到主机

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

通过输入ssh 虚拟机用户名@虚拟机ip添加,如我的就是ssh [email protected]

输入密码后

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

关掉重新点击左下角的远程连接,连接到主机

此时以及有刚刚添加的虚拟机

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

安装c++插件

将这些插件配置好,中文不是必要的

编译c程序

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

bash 复制代码
sudo apt install g++
sudo apt install gdb
sudo apt install gcc

如果想要执行简单的c程序,可以直接点击右上角,但是复杂程序不行。

命令行

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

比如有一个test.cpp程序

bash 复制代码
g++ -o test test.cpp

直接执行就可

这里就不讲如何用命令行编译更复杂的程序了

Makefile

Makefile是对命令行命令的封装,makefile能实现所以cmake能实现的功能。

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

比如下面是一个简单的makefile

csharp 复制代码
test:test.o
	g++ test.o -o test
test.o:test.cpp
	g++ -c test.cpp

执行make后就能自动执行

cmake

需要先安装好

bash 复制代码
sudo apt install g++

此时写一个简单的CmakeLists.txt放到主程序下

python 复制代码
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)
bash 复制代码
mkdir build # 创建一个build文件夹
cd build # 打开build
cmake .. # 执行上级的Makelists

此时会有很多cmake相关文件生成,最重要的就是makefile

我们可以通过make命令生成可执行文件。

之后只要文件结构没有被修改,直接使用make命令即可。

被修改了,就需要重新写cmakelists并且执行cmake 命令.

运行linux图形化程序

主机配置

首先需要下载一个xserver的应用,比如 vcxsrv

打开XLaunch

一开始设置display为10

最后设置勾选Disable access control

其余默认

vscode配置

打开config文件,在连接时的配置ssh主机中

加上下面两行代码

bash 复制代码
ForwardX11 yes
ForwardX11Trusted yes

服务端配置

设置环境变量为主机ip+冒号+display ip:display, 之前设置XLaunch为10,这是也是10.

bash 复制代码
export DISPLAY=192.168.231.110:10.0

查看是否设置成功

bash 复制代码
echo $DISPLAY

运行测试程序

bash 复制代码
xeyes

会出现如下窗口

相关推荐
小麦嵌入式9 分钟前
Linux驱动开发实战(十一):GPIO子系统深度解析与RGB LED驱动实践
linux·c语言·驱动开发·stm32·嵌入式硬件·物联网·ubuntu
jelasin1 小时前
LibCoroutine开发手记:细粒度C语言协程库
c语言
篝火悟者1 小时前
自学-C语言-基础-数组、函数、指针、结构体和共同体、文件
c语言·开发语言
只是橘色仍温柔2 小时前
xshell可以ssh连接,但vscode不行
运维·vscode·ssh
神里流~霜灭3 小时前
蓝桥备赛指南(12)· 省赛(构造or枚举)
c语言·数据结构·c++·算法·枚举·蓝桥·构造
双叶8363 小时前
(C语言)单链表(1.0)(单链表教程)(数据结构,指针)
c语言·开发语言·数据结构·算法·游戏
艾妮艾妮4 小时前
C语言常见3种排序
java·c语言·开发语言·c++·算法·c#·排序算法
charlie1145141914 小时前
STM32F103C8T6单片机硬核原理篇:讨论GPIO的基本原理篇章1——只讨论我们的GPIO简单输入和输出
c语言·stm32·单片机·嵌入式硬件·gpio·数据手册
矿渣渣5 小时前
int main(int argc, char **argv)C语言主函数参数解析
c语言·开发语言
阿让啊5 小时前
bootloader+APP中,有些APP引脚无法正常使用?
c语言·开发语言·stm32·单片机·嵌入式硬件