编程题
第一题
问题描述
实现一个linux应用程序A,显示当前目录下的文件名。(用C或Rust编程)
代码实现
这里我选择使用c语言实现本题
![\includegraphics[width=1.10\textwidth]{que1-1.png}](https://i-blog.csdnimg.cn/blog_migrate/197c70648e8b901b697aab49fa77bde7.png)
输出结果
![\includegraphics[width=1.10\textwidth]{answer1-1.png}](https://i-blog.csdnimg.cn/blog_migrate/aac415cc0695e5815a8c925e659587ed.png)
第二题
问题描述
实现一个linux应用程序B,能打印出调用栈链信息。(用C或Rust编程)
代码实现
这里我选择使用c语言实现本题
![\includegraphics[width=1.10\textwidth]{que1-2.png}](https://i-blog.csdnimg.cn/blog_migrate/baee9c0a4c3c1c033086a7831cae7804.png)
运用"gcc -g question1-2.c -o question1-2"指令对于该c代码进行编译
输出结果
采用"gdb question1-2"进行gdb调试
输入“run”;
可以看到打印出的代用栈链信息如下:
![\includegraphics[width=1.10\textwidth]{answer1-2.jpg}](https://i-blog.csdnimg.cn/blog_migrate/b6e91d257be3e3be5f326451624360d8.png)
问答题
第一题
问题描述
应用程序在执行过程中,会占用哪些计算机资源?
题目解答
- CPU:应用程序需要中央处理器(CPU)来执行其指令,这是应用程序运行所需的最基本资源。
- 内存:应用程序需要内存来存储其代码、数据和运行时状态。应用程序使用内存来处理数据和执行操作,因此需要足够的内存才能正常运行。
- 硬盘空间:应用程序需要在硬盘上存储其代码、数据和其他文件,例如配置文件、日志文件等。
- 网络带宽:如果应用程序需要与其他计算机或服务器进行通信,那么它需要网络带宽来传输数据。

文章详细介绍了如何使用C语言在Linux环境下编写应用程序,展示获取当前目录文件名和打印调用栈信息的实现。同时,探讨了应用程序执行时占用的计算机资源,包括CPU、内存、硬盘空间等,并通过readelf和pmap工具分析代码段、数据段和堆栈的地址空间。此外,文章还讨论了应用程序与操作系统的异同,以及RISC-V架构下QEMU模拟器的执行过程,强调了SBI在操作系统和硬件交互中的角色。
最低0.47元/天 解锁文章
2013

被折叠的 条评论
为什么被折叠?



