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

进程间通信——环境问题

在这里插入图片描述

ubuntu 20.04 , c++ , vscode
(c++这里不谈)

1.ubuntu 20.04 :

云服务器后台,云服务器实例,重装系统/更多->重新安装
在这里插入图片描述
(在这之前有用的代码记得备份上传到gitee。)

2.vscode:

编辑器->支持插件化的配置。

下载好之后,我们可以在桌面创建一个文件夹code,然后打开vscode,点击文件,选择打开文件夹code。
在这里插入图片描述
点击第一个图标,新建文件。
在这里插入图片描述
我们的第一个文件code.c。
在这里插入图片描述
而刚刚的代码就在我们在桌面创建的code文件夹里。
在这里插入图片描述
目前,在我们Windows当中,刚刚写的代码是编译不了的,在vscode也是默认编译不了的。当然这个不是重点。

我们今天把vscode安装好,要干什么?

做远程开发!

我想拿vscode远程登录上我们的云服务器/虚拟机,然后在本地写对应的代码,然后vscode 远程开发相关内容整理。

  1. 当前代码编译情况:
  • 目前写的代码在 Windows 中默认无法编译,vscode 也默认不支持直接编译。
  1. 今日核心任务:远程开发
  • 目标:用本地的vscode 远程连接云服务器,在本地写代码后,由vscode 自动同步到云服务器。
  • 优势:在 Windows 图形界面下开发,代码实际运行在云服务器,贴近企业常用开发模式。
  1. vscode 插件的作用:
  • vscode 是编辑器,支持通过插件扩展功能,方便配置开发环境。
  • 针对 C/C++ 开发:因 vscode 由微软开发,对 C/C++ 支持友好,通常只需装 1-2 个核心插件即可,本次会额外推荐几个实用插件。
推荐插件1.remote-SSH

在这里插入图片描述

这里我已经安装好了,一旦安装好之后,最左边栏就会出现一个小电脑图标,点就去,就是下面这样的。

在这里插入图片描述
点加号新建远程。
在这里插入图片描述
按上面的格式添加。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可以打开配置文件看一下,就有我们刚刚添加的内容
在这里插入图片描述
如果不想要这个主机了,可以把config这个配置文件给删掉,或者把里面的内容给删掉,就可以了。

在这里插入图片描述
在这里插入图片描述
现在我已经有了对应的添加进来的远程连接主机,然后要干什么呢?

在这里插入图片描述

我们可以点击这个箭头(在当前窗口中连接),点了之后它就会自动弹出来。
在这里插入图片描述
我们也可以点击箭头后的窗口图标(在新窗口中连接),点击之后就会新跳出一个窗口,显示上图内容。

在这里插入图片描述
连接成功。

在这里插入图片描述
之后我们可以打开我们的文件夹。

在这里插入图片描述
在这里插入图片描述
要是觉得字体小,可以ctrl+加号:放大。

此时自动识别的工作路径不是我们Windows上的路径,而是我们在云服务器上的家目录。

然后我们打开一个目录创建一个文件夹,在文件夹下面创建一个文件test.c。

在这里插入图片描述
写完代码之后,ctrl+s,保存。

在这里插入图片描述
这样就会同步到远端服务器。

ubuntu@VM-8-2-ubuntu:~/code/test$ ll
total 12
drwxrwxr-x 3 ubuntu ubuntu 4096 Aug 19 00:17 ./
drwxrwxr-x 3 ubuntu ubuntu 4096 Aug 19 00:16 ../
drwxrwxr-x 2 ubuntu ubuntu 4096 Aug 19 00:18 vscode/
ubuntu@VM-8-2-ubuntu:~/code/test$ cd vscode
ubuntu@VM-8-2-ubuntu:~/code/test/vscode$ ls -l
total 4
-rw-rw-r-- 1 ubuntu ubuntu 77 Aug 19 00:21 test.c
ubuntu@VM-8-2-ubuntu:~/code/test/vscode$ cat test.c
#include <stdio.h>int main()
{printf("hello world\n");return 0;
}

编写一个实例文件。

ubuntu@VM-8-2-ubuntu:~/code/test/vscode$ cat test.c
#include <stdio.h>int main()
{printf("hello world\n");printf("hello world\n");printf("hello world\n");return 0;
}
ubuntu@VM-8-2-ubuntu:~/code/test/vscode$ cat Makefile
code.exe:test.cgcc -o $@ $^
.PHONY:clean
clean:rm -f code.exe

在我们写好文件要编译时,ctrl+~,即可调出命令行。

在这里插入图片描述

ubuntu@VM-8-2-ubuntu:~/code/test$ ll
total 12
drwxrwxr-x 3 ubuntu ubuntu 4096 Aug 19 00:17 ./
drwxrwxr-x 3 ubuntu ubuntu 4096 Aug 19 00:16 ../
drwxrwxr-x 2 ubuntu ubuntu 4096 Aug 19 12:17 vscode/
ubuntu@VM-8-2-ubuntu:~/code/test$ cd vscode
ubuntu@VM-8-2-ubuntu:~/code/test/vscode$ ll
total 20
drwxrwxr-x 2 ubuntu ubuntu 4096 Aug 19 12:17 ./
drwxrwxr-x 3 ubuntu ubuntu 4096 Aug 19 00:17 ../
-rw-rw-r-- 1 ubuntu ubuntu   48 Aug 19 09:32 code.cpp
-rw-rw-r-- 1 ubuntu ubuntu   65 Aug 19 12:20 Makefile
-rw-rw-r-- 1 ubuntu ubuntu  135 Aug 19 00:29 test.c
ubuntu@VM-8-2-ubuntu:~/code/test/vscode$ make
gcc -o code.exe test.c
ubuntu@VM-8-2-ubuntu:~/code/test/vscode$ ll
total 40
drwxrwxr-x 2 ubuntu ubuntu  4096 Aug 19 12:23 ./
drwxrwxr-x 3 ubuntu ubuntu  4096 Aug 19 00:17 ../
-rw-rw-r-- 1 ubuntu ubuntu    48 Aug 19 09:32 code.cpp
-rwxrwxr-x 1 ubuntu ubuntu 16696 Aug 19 12:23 code.exe*
-rw-rw-r-- 1 ubuntu ubuntu    65 Aug 19 12:20 Makefile
-rw-rw-r-- 1 ubuntu ubuntu   135 Aug 19 00:29 test.c
ubuntu@VM-8-2-ubuntu:~/code/test/vscode$ ./code.exe
hello world
hello world
hello world

运行成功!

当然我们在Xshell上也可以运行。

ubuntu@VM-8-2-ubuntu:~/code/test/vscode$ ll
total 40
drwxrwxr-x 2 ubuntu ubuntu  4096 Aug 19 12:23 ./
drwxrwxr-x 3 ubuntu ubuntu  4096 Aug 19 00:17 ../
-rw-rw-r-- 1 ubuntu ubuntu    48 Aug 19 09:32 code.cpp
-rwxrwxr-x 1 ubuntu ubuntu 16696 Aug 19 12:23 code.exe*
-rw-rw-r-- 1 ubuntu ubuntu    65 Aug 19 12:20 Makefile
-rw-rw-r-- 1 ubuntu ubuntu   135 Aug 19 00:29 test.c
ubuntu@VM-8-2-ubuntu:~/code/test/vscode$ ./code.exe
hello world
hello world
hello world
推荐插件2.GDB Debug

如果需要调试,我们可以安装插件——GDB Debug
在这里插入图片描述
安装之后就会出现一个小三角。
在这里插入图片描述
我们推荐在Xshell上使用gdb,在unbuntu安装的命令是

$ sudo apt install gdb
ubuntu@VM-8-2-ubuntu:~/code/test/vscode$ gdb code.exe
GNU gdb (Ubuntu 9.2-0ubuntu1~20.04.2) 9.2
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:<http://www.gnu.org/software/gdb/documentation/>.For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from code.exe...
(gdb) 

要是觉得gdb不方便,我们可以安装cgdb.

$ sudo apt install cgdb
$ cgdb code.exe

在这里插入图片描述

推荐插件3.如果我们要做cpp的开发,推荐安装下面这几个插件。

在这里插入图片描述
在这里插入图片描述

推荐插件4.主题设置,安装下面这个插件。

在这里插入图片描述

推荐插件5.汉化。

在这里插入图片描述

推荐插件6.AI插件

最后推荐一个插件,可以帮我们写一些代码块。一直Tab就可以。
在这里插入图片描述

在这里插入图片描述

//code.cpp
#include <iostream>
int main()
{//一个冒泡排序的例子                int arr[] = {5, 3, 8, 4, 2};int n = sizeof(arr) / sizeof(arr[0]);for (int i = 0; i < n - 1; i++){for (int j = 0; j < n - i - 1; j++)                 {if (arr[j] > arr[j + 1]){//swap arr[j] and arr[j+1]int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}for (int i = 0; i < n; i++)std::cout << arr[i] << " "; //输出排序后的数组          std::cout << std::endl;return 0;
}

上面是我们自动补全的代码

在终端运行之前我们要安装一下g++

$ sudo apt install g++

运行:

$ g++ code.cpp
$ ./a.out
2 3 4 5 8 

当然我们在vscode也可以设置。

在这里插入图片描述
结语:环境问题是进程间通信的基石,也是我们探索更深技术的起点。在下一篇中,我们将真正进入进程间通信的核心领域,一窥管道、消息队列和共享内存等机制的奥秘。准备好,我们将一起解码这些强大的通信方式!

在这里插入图片描述

http://www.dtcms.com/a/424165.html

相关文章:

  • html做网站步骤大全泉州网站建设咨询
  • 网站备案要多长时间网站建设的功能需求分析策划书
  • 安卓基础007-第一章结束
  • join left join right join 关联问题
  • 从接口概念到客达天下系统Apifox+DeepSeek接口测试实战
  • vue 中 props 用法使用总结和示例演示
  • SymPy 绘图完全指南:从基础到高级应用
  • C语言基础入门(二)
  • ClientAbortException: java.io.IOException: Broken pipe是什么?
  • 书店网站建设个人总结惠州网页建站模板
  • 西安 网站建设 培训班常州做网站公司有哪些
  • 嵌入式系统应用--TFTLCD 显示实验 3 之内存拓展
  • TEE(可信执行环境)与REE(富执行环境):构建现代智能设备的安全基石与技术全景
  • 网站开发洲际做网站如何接单子
  • 如何查看网站推广做的好云南省玉溪市建设局官方网站
  • ui设计网站建设是什么意思erp系统有哪些功能模块
  • Python将维吾尔语从 ULY 到 UEY 的自动转换
  • Spring AI整合聊天模型DeepSeek
  • 做国外网站做什么内容好无锡市城市建设规划局网站
  • 软装设计网站推荐湖南畅想网站建设
  • 手机电影网站怎么做wordpress邮箱登录
  • 圆桌对话 | “内卷”与“出海”:中国智能网联汽车的破局之路与未来生态构想
  • 网站建设开头wordpress go
  • 门户子网站建设申请微页制作平台网站建设
  • linux拷贝命令
  • 遥感目标检测数据集汇总,覆盖城市问题/工业安全/农业健康/室内场景……
  • LeetCode 刷题【92. 反转链表 II】
  • Spring Boot 异步处理框架核心源码解析及实现原理
  • 三只松鼠网站怎样做p2p网站开发多少钱
  • C++(day4)