在Ubuntu系统下使用gcc和Makefile编写c程序。
本文章的目的在于Ubuntu系统之下熟悉Linux系统下进行c程序的编写,执行。
一,在不同的环境之下进行c语言编程
1.main1.c的编写
(1)使用touch命令创建main1.c文件,再通过ls命令查看main1.c文件是否创建成功。
(2)使用gedit命令来显示出编辑对话框,并在其中编写程序,main1.c程序如
#include"sub1.h"
int main()
{
int x=2,y=9; //定义x和y变量
printf("%.2f\n",x2x(x,y)); //输出处理后的值,保留两位小数
return 0;
}
2.重复使用1中的方法编写sub1.h文件和sub1.c文件
#ifndef __SUB1_H
#define __SUB1_H
#include<stdio.h>
float x2x(int a,int b); //计算b除以a的结果
#endif
#include "sub1.h"
/*******************/
/* 参数:a,b */
/* 返回值:ans */
/*******************/
float x2x(int a,int b)
{
float ans;
ans=(float)b/a;
return ans;
}
3.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程序
执行结果如图
二.使用Windows系统下编写如上程序
三.使用Makefile编译c程序
Makefile文件的编写
main1:sub1.o main1.c
gcc main1.c sub1.o -o main1
sub1.o:sub1.c
gcc -c sub1.c -o sub1.o
clean:
rm *.o
用Makefile文件编译:使用make命令在在源文件目录下执行,则可得到可执行文件
四.总结
在Ubuntu系统之下使用make和Makefile文件可以对多个文件进行维护。
在编写Makefile文件的时候我错误地将Makefile文件当成了.c文件一下hi导致出错误。并且在写程序的时候将文件格式搞错误了。Make file文件编写的规则应为:
target:prerequisites
command # command以一个tab键开始
# target为一个目标文件,可以是Object File,也可以是执行文件。还可以是一个标签(Label)
# prerequisites是需要生成target所依赖的文件或是目标
# command也就是make需要执行的命令。(任意的Shell命令)。