在Ubuntu下编译运行C语言程序
makefile文件中定义了一系列的规则来指定文件编译顺序,甚至于进行更复杂的功能操作。makefile文件中会使用gcc编译器对源代码进行编译, 最终生成可执行文件或者是库文件。makefile文件的命名:makefile或者Makefile。
·
目录
实验题目
- 在Ubuntu系统下用C语言编写一个简单的输出 hello word的程序,并编译运行
- 请编写一个主程序文件 main1.c 和一个子程序文件 sub1.c, 要求:子程序sub1.c 包含一个算术运算函数 float x2x(int a,int b),此函数功能为对两个输入整型参数做某个运算,将结果做浮点数返回;主程序main1.c,定义并赋值两整型变量,然后调用函数 x2x,将x2x的返回结果printf出来。1) 请在ubuntu系统用gcc 命令行方式编译主程序main1.c 并运行; 2) 请在windows系统下用你熟悉的编译工具编译主程序main1.c 并运行
- 在2基础上,在ubuntu系统下用Makefile方式编程主程序
1 gcc编译
1.1 编译运行hello.c程序
1.1.1 使用vim创建hello.c文件
vim hello.c
代码内容如下
1.1.2 使用gcc将其转化为可执行文件
gcc hello.c -o hello
1.1.3 运行hello可执行文件
./ hello
输入结果如下
1.2 使用gcc编译运行题目中的程序
1.2.1 用vim创建main1.c和sub1.c程序
main1.c内容如下
sub1.c内容如下
1.2.2 使用gcc编译并运行
输出结果如下
在Windows下使用CLion执行相同的C语言程序,结果如下
输出结果与使用gcc编译相同
2 使用Makefile编译
2.1 makefile文件定义
makefile
文件中定义了一系列的规则来指定文件编译顺序,甚至于进行更复杂的功能操作。
makefile文件中会使用gcc编译器对源代码进行编译, 最终生成可执行文件或者是库文件。
makefile文件的命名:makefile或者Makefile。
2.2 makefile编写规则
makefile由一组规则组成,规则如下:
目标: 依赖
(tab)命令
2.3 编译运行题目中的程序
-
修改main1.c文件
由于需要用makefile编译运行,会将各个文件中的所有文件进行整合一起,继续使用上述所写文件,编译时会出现重定义的情况,所以需修改该文件为:
-
用vim创建Makefile文件
vim Makefile
文件内容如下
- 执行make命令
- 执行可执行文件,查看结果
可以看到,结果与上述结果相同
更多推荐
所有评论(0)