目录
(一)直接使用gcc编译C程序
1.创建main1.c和sub1.c
2.编写C程序
3.gcc直接编译
(二)与windows平台编程对比
(三)使用Makefile编译c程序
(四)总结
(一)直接使用gcc编译C程序
1.创建main1.c 和sub1.c sub1.h
2.编写程序
2.1编写main1.c
#include"sub1.h"
int main()
{
int x=2,y=4; //定义x和y变量
printf("%.2f\n",x2x(x,y)); //输出处理后的值,保留两位小数
return 0;
}
main2.c
#include"sub1.h"
int main()
{
int x=2,y=9; //定义x和y变量
printf("%.2f\n",x2x(x,y)); //输出处理后的值,保留两位小数
return 0;
}
2.2编写sub1.c
#include "sub1.h"
/*******************/
/* 参数:a,b */
/* 返回值:ans */
/*******************/
float x2x(int a,int b)
{
float ans;
ans=(float)b/a;
return ans;
}
2.3编写sub1.h
#ifndef __SUB1_H
#define __SUB1_H
#include<stdio.h>
float x2x(int a,int b); //计算b除以a的结果
#endif
3.直接编译
(二)与windows平台编程对比
使用Dev-C++
编写main.c文件
编写sub1.h头文件
运行结果
(三)使用Makefile编译c程序
输入命令安装make
sudo apt-get install make
1.Makefile文件编写规则
target:prerequisites
command # command以一个tab键开始
# target为一个目标文件,可以是Object File,也可以是执行文件。还可以是一个标签(Label)
# prerequisites是需要生成target所依赖的文件或是目标
# command也就是make需要执行的命令。(任意的Shell命令)
2.编写makefilefile文件
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
注意:每条指令之前必须用tab开头,不能用八个spaces代替,否则编译时会出错!!!
此时输入“ll“指令,列出当前文件夹中的所有文件。
在源文件目录下执行命令make,即可编译得到可执行文件main1
删除编译产生的中间文件
在源文件目录下执行命令make clean,即可删除编译过程中产生的*.o文件
(四)总结
本次实验是我首次安装虚拟机使用Ubuntu,由于从未接触过Linux系统,在进行实验的过程中遇到了一系列的问题和麻烦,甚至将虚拟系统给整崩溃了,这让我初学感到十分困难,然而在查阅资料,请教他人后,逐渐开始了解该系统的编程流程和逻辑,发现熟悉上手后并未有想象中那般困难,最终成功的将实验完成,为日后的系统程序设计打下了基础。