本文通过在Ubuntu系统上和Windows系统上编译C程序(Ubuntu系统上第一种用gcc系统命令行编译运行主程序,第二种用Makefile方式编译主程序)来达到熟悉操作的目的。
一:Ubuntu系统下直接使用gcc编译简单主/子程序
1.编写main1.c
·新建main1.c
gedit main1.c
·编写main1.c代码
#include"sub1.h"
#include "sub1.c"
int main(){
int a=3,b=6;
printf("%f\n",x2x(a,b));
return 0;
}
2.编写sub1.c
·新建子程序sub1.c
gedit sub1.c
·编写sub1.c代码
#include "sub1.h"
float x2x(int a,int b){
float m;
m=a+b;
return m;
}
3.编写sub1.h
#include<stdio.h>
float x2x(int a,int b);
4.直接使用gcc编译并运行main1.c
·gcc命令编译
gcc main1.c -o main1
·运行main.c
./main1
·运行结果
二、Ubuntu系统下的使用Makefile编译运行主程序
1.关于makefile
·makefile格式
target : dependcy_files
<TAB>command
target也就是一个目标文件,可以是Object File,也可以是执行文件。
dependcy_files 就是要生成target所需要的文件或目标。
command就是make需要执行的命令。
2.安装make软件包
·输入安装命令
sudo spt-get install make
·安装成功
3.编写makefile
·新建makefile
gedit makefile
·写入内容
main1:sub1.o main1.o
gcc main1.c sub1.o -o main1
sub1.o:sub1.c
gcc -c sub1.c -o sub1.o
clean:
rm*.o
注意:空格必须按Tab键
4.用make 命令运行并输出结果
三、用Windows平台编译运行主/子程序
1.新建源文件main1.cpp
#include"sub1.h"
#include "sub1.cpp"
int main(){
int a=3,b=6;
printf("%f\n",x2x(a,b));
return 0;
}
2.新建源文件sub1.cpp
#include"stdio.h"
float x2x(int a,int b){
float m;
m=a+b;
return m;
}
3.新建头文件sub1.h
#include<stdio.h>
float x2x(int a,int b);