第6章 第一个Linux应用程序.ppt
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
【标题】: "第6章 第一个Linux应用程序.ppt" 【描述】: "通过一个简单的Linux应用程序介绍程序开发的基本框架和工作流程" 【标签】: "ppt" 在这个章节中,我们将探讨如何在Linux环境下编写并运行你的第一个应用程序。这个过程通常从经典的"Hello, World!"程序开始,它不仅简单,而且能够展示C语言的基础结构,包括语法、头文件的引用以及库函数的使用。以下是详细的学习步骤: 6.1 向世界问好 – Hello,World! 1. 使用vi编辑器创建源代码文件。在本例中,文件名为`hello_test.c`,内容包含标准的`Hello, World!`输出。 2. 源代码包含`<stdio.h>`头文件,这是C语言标准输入输出库,其中定义了`printf()`函数,用于将文本输出到屏幕。 3. `main()`函数是程序的入口点,`return 0;`表示程序正常结束。 6.1.2 使用gcc编译程序 在编辑完源代码后,使用gcc编译器将其转化为可执行文件。在终端中,输入`gcc hello_test.c`命令进行编译。 6.1.3 执行程序 编译完成后,使用`./a.out`命令执行程序。注意,由于`PATH`环境变量通常不包含当前目录,所以需要使用`./`前缀指定可执行文件的位置。执行后,程序将在屏幕上打印出"Hello, World!"。 6.2 程序背后做了什么 6.2.1 程序执行的过程 一个Linux程序的生命周期包括加载(由操作系统负责)、解析可执行文件、分配内存空间、设置栈和堆、初始化全局变量以及调用`main()`函数。 6.2.2 窥视程序执行中的秘密 为了更深入地了解程序执行,可以使用`strace`工具追踪系统调用和信号。通过`strace ./a.out`命令,可以看到程序执行时与操作系统交互的详细信息。 6.2.3 动态库的作用 Linux系统支持两种类型的库:静态库和动态库。动态库在运行时加载,允许代码共享,减少磁盘空间占用和加载时间。对比静态链接和动态链接的效果,可以通过`gcc -static hello_test.c`和`gcc hello_test.c`编译同一个程序,观察生成的可执行文件大小差异。 6.3 程序如何来的 - 编译的全部过程 6.3.1 编译源代码 当使用`gcc`编译C源代码时,它实际上执行了编译和链接两个步骤。编译阶段将源代码转换为目标代码,链接阶段将目标代码与所需的库合并,生成最终的可执行文件。 整个过程从编写源代码开始,经过编辑、编译、链接,最后执行,揭示了Linux应用程序从无到有的全过程。通过学习这些基础概念,你将能够更好地理解和创建自己的Linux应用程序。
![ppt](https://img-home.csdnimg.cn/images/20210720083527.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![ppt](https://img-home.csdnimg.cn/images/20210720083527.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/release/download_crawler_static/87883521/bg1.jpg)
![](https://csdnimg.cn/release/download_crawler_static/87883521/bg2.jpg)
![](https://csdnimg.cn/release/download_crawler_static/87883521/bg3.jpg)
![](https://csdnimg.cn/release/download_crawler_static/87883521/bg4.jpg)
![](https://csdnimg.cn/release/download_crawler_static/87883521/bg5.jpg)
剩余20页未读,继续阅读
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/e473673e23484abfafca58fbb5eb9dd1_qq_61141142.jpg!1)
- 粉丝: 5667
- 资源: 10万+
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)