目录
(一)直接使用gcc编译C程序
1.编写C程序
2.gcc直接编译
(二)windows系统编译主程序main1.c
(三)使用Makefile编译c程序
(四)总结
(一)直接使用gcc编译C程序
1.编写C程序
(1) 编写main1.c
#include"sub1.h"
int main()
{
int x=2,y=9; //定义x和y变量
printf("%.2f\n",x2x(x,y)); //输出处理后的值,保留两位小数
return 0;
}
(2)编写sub1.h
#ifndef __SUB1_H
#define __SUB1_H
#include<stdio.h>
float x2x(int a,int b); //计算b除以a的结果
#endif
(3)编写sub1.c
#include "sub1.h"
/*******************/
/* 参数:a,b */
/* 返回值:ans */
/*******************/
float x2x(int a,int b)
{
float ans;
ans=(float)b/a;
return ans;
}
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程序
gcc直接编译过程
(二)windows系统编译主程序main1.c
编译结果
(三)使用Makefile编译c程序
Ubuntu16.04下:
step1:编写main1.c
主程序已经用nano编好,下面为主程序展示
注意:1、主程序中函数的声明
step2:编写子程序
step3:用gcc命令编译
采用多个文件一起编译,输出放在main1中
gcc的常见用法:-c 只生成目标文件不进行连接,用于对目标文件的分别编译
-o file 将输出放在文件file中
step4:运行结果
./file :用来执行文件
(四)总结
在ubuntu环境下,可用gcc对c语言进行编译,但对于多个文件的维护工作可以由make和makefile来完成,通过gcc这种“原始”的编译工具可以理解到从C语言源程序编译为可执行文件的过程。