跨境派

跨境派

跨境派,专注跨境行业新闻资讯、跨境电商知识分享!

当前位置:首页 > 跨境风云 > Linux下C程序的编写(操作系统实验)

Linux下C程序的编写(操作系统实验)

时间:2024-04-23 19:10:33 来源:网络cs 作者:康由 栏目:跨境风云 阅读:

标签: 操作  系统  实验  编写  程序 
阅读本书更多章节>>>>

实验题目:  Linux下C程序的编写                           

实验目的:  (1)掌握Linux下C程序的编写、编译与运行方法;

(2)掌握gcc编译器的编译过程,熟悉编译的各个阶段;       

(3)熟悉Makefile文件的编写格式和make编译工具的使用方法。        

实验环境(硬件和软件) VMware Workstation,Linux                                  

实验内容:

练习使用gcc编译器编译C程序并执行,编写Makefile文件,使用make工具编译程序并执行。具体内容如下:

编写简单C程序,功能为在屏幕上输出“Hello gcc!”。利用该程序练习使用gcc编译器的E,S,c,o,g选项,观察不同阶段所生成的文件,即*.c,*.i,*.s,*.o文件和可执行文件。编写一个由头文件greeting.h、自定义函数greeting.c、主函数myapp.c构成的C程序,并根据这三个文件的依赖关系编写Makefile文件。

实验步骤:

(1)1.创建空文档,修改名称为myhello.c,出入程序代码,保存并退出。
2.打开终端,使用gcc命令对上述文档分阶段编译。
3.利用ls命令查看编译过程产生的各个文件。即myhello.c、myhello.s、myhello.o文件和可执行文件myhello.c。

(2)Makefile文件的编写。使用make工具编译程序,在终端提示符后输入“make”,并按Enter。

实验数据记录:

vim创建空文档myhello.c,输入程序代码,Esc后:wq保存并退出。vim myhello.c
/*----------myhello.c----------*/#include <stdio.h>int main(){        printf("Hello gcc!\n");        return 0;}

1.2使用gcc命令对上述文档分阶段编译。

gcc -E myhello.c -o myhello.i  # 预处理阶段

gcc -S myhello.i -o myhello.s  # 编译阶段

gcc -c myhello.s -o myhello.o  # 汇编阶段

gcc myhello.o -o myhello       # 链接阶段

还可以直接编译gcc myhello.c -o myhello

3.利用ls命令查看编译过程产生的各个文件。即myhello.c、myhello.s、myhello.o文件和可执行文件myhello.c。

运行结果:

(2)Makefile文件的编写。使用make工具编译程序,在终端提示符后输入“make”,并按Enter。

2.1myapp.c文件:  (vim myapp.c创建)

#include <stdio.h>#include "greeting.h"#define N 10int main(){        char name[N];        printf("Your name,please:");        scanf("%s",name);        greeting(name);        return 0;}

2.2 greeting.h

#ifndef _GREETING_H#define _GREETING_Hvoid greeting(char *name);#endif

2.3greeting.c

#include <stdio.h>#include "greeting.h"void greeting(char *name){        printf("Hello %s",name);}

2.4Makefile文件和make

vim Makefile创建并输入代码

myapp:greeting.o myapp.o        gcc myapp.o greeting.o -o myappgreeting.o:greeting.c greeting.h        gcc -c greeting.cmyapp.o:myapp.c greeting.h        gcc -c myapp.cclean:        rm -rf *.o

make编译及最终结果:

阅读本书更多章节>>>>

本文链接:https://www.kjpai.cn/fengyun/2024-04-23/161607.html,文章来源:网络cs,作者:康由,版权归作者所有,如需转载请注明来源和作者,否则将追究法律责任!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

文章评论