OpenEuler实战
OpenEuler安装
- 可以参考这个up主的视频 B站视频链接
下载VirtualBox虚拟机
在浏览器官网搜索virtualBox官网Oracle VirtualBox然后直接下载即可
打开VirtualBox后发现并没有操作系统(),那么我们就再去浏览器下载openEuler操作系统
下载OpenEuler操作系统
在浏览器上搜索OpenEuler社区openEuler | 开源社区 | openEuler社区官网
点开后找到Offline Everything ISO,下载就好了
事实上并没有删除()
在VirtualBox中加载OpenEuler
点击注册,然后按照下图配置
然后新建虚拟电脑的时候配置一下
全都配置好就可以使用了
注意!!!一定要记住自己的root密码
OpenEuler实践报告
一、实验环境
- 操作系统:OpenEuler(通过VirtualBox虚拟机运行)
- 编译器:GCC
二、作业要求的代码
例1:
|
|
例2:
|
|
例题一操作
-
创建文件并输入代码:
1
vim example1.c
将例1的代码复制到文件中,保存并退出。
-
编译代码:
1
gcc example1.c -o example1
如果没有错误,将生成可执行文件
example1
。 -
运行程序:
1
./example1
观察输出结果。
运行结果及分析
例1运行结果:
|
|
例一分析: 每次fork()
调用都会创建一个新的进程,三次fork()
会创建8个进程(2^3),每个进程都会执行printf("hello\n");
,所以输出8次"hello"。
例题二操作
-
创建文件并输入代码:
1
vim example2.c
将例1的代码复制到文件中,保存并退出。
-
编译代码:
1
gcc example2.c -o example2
如果没有错误,将生成可执行文件
example1
。 -
运行程序:
1
./example2
观察输出结果。
运行结果及分析
例2运行结果:
例二分析:
- 父进程和子进程各自拥有变量
x
的独立副本。 - 子进程中
x
的值被递增(++x
),所以输出2。 - 父进程中
x
的值被递减(--x
),所以输出0。
五、总结
通过本次实践,我掌握了在Linux环境下使用GCC编译C代码的基本流程,理解了fork()
系统调用的原理和用法,以及进程控制的基本概念。同时,也熟悉了在OpenEuler操作系统下的开发环境和工具的使用。