目录
前言
一、使用gcc命令完成编译c语言程序
1.编写c语言程序
main1.c
sub1.h
sub1.c
2.gcc命令编译
步骤一命令:gcc -c sub1.c作用:将sub1.c程序转换为目标文件sub1.o
步骤二命令:gcc main1.c sub1.o -o main1作用:编译main1.c文件为目标文件main1.o,然后链接sub1.o目标文件生成main1可执行文件
步骤三执行./main1命令,即可执行编译生成的main1程序
3.在window下编译运行
二、使用Makefile方式编程主程序
1.编写makefile
2.编译运行上述c语言程序
总结
前言
本文目的是通过在Ubuntu16.04系统上编译多个C程序来熟悉在Linux系统上编写C程序的操作。相关程序名称分别为main1.c、sub1.c、sub1.h;采用以下两种方式进行编译,第一种是直接使用gcc在命令行编译运行,第二种是使用Makefile文件,并在命令行编译运行。
一、使用gcc命令完成编译c语言程序
1.编写c语言程序
新建实验文件夹zy;
main1.c
#include "sub1.h"int main(){int x=6,y=9;printf("%.5f\n",x2x(x,y));//保留小数点后5位return 0; }
在gedit中编写效果:
sub1.h
#ifndef __SUB1_H#define __SUB1_H#include<stdio.h>float x2x(int a,int b); //计算a除以b加0.00001的结果#endif
sub1.c
#include "sub1.h"float x2x(int a,int b){float m;m=(float)a/b+0.00001;return m;}
2.gcc命令编译
步骤一
命令:gcc -c sub1.c
作用:将sub1.c程序转换为目标文件sub1.o
步骤二
命令:gcc main1.c sub1.o -o main1
作用:编译main1.c文件为目标文件main1.o,然后链接sub1.o目标文件生成main1可执行文件
步骤三
执行./main1命令,即可执行编译生成的main1程序
如图:
3.在window下编译运行
使用devc++编译运行;
直接运行失败
将main.c中的sub1.h修改为sub1.c
编译运行成功!
二、使用Makefile方式编程主程序
1.编写makefile
格式:
目标文件:[相依文件]
<tab>命令[注释]
<tab>命令[注释]
2.编译运行上述c语言程序
总结
在ubuntu16.04环境下,本次实验使用gcc对c语言进行编译,我更加了解了gcc对c语言程序的编译过程,并发现了在window下编译过程的差别。还学习使用了makefile与make来完成了c语言程序的编译,在面对多个程序的链接编译时makefile是一个好用的工具,能达到快速编译的目的。