在Ubuntn编写一个主程序文件 main1.c 和一个子程序文件 sub1.c, 要求:子程序sub1.c 包含一个算术运算函数 float x2x(int a,int b),此函数功能为对两个输入整型参数做某个运算,将结果做浮点数返回;主程序main1.c,定义并赋值两整型变量,然后调用函数 x2x,将x2x的返回结果printf出来。
准备工作:
在终端先创建一个名为test的目录,然后进入这个目录,创建sub1.c和main1.c文件
mkdir test
cd test
vi sub1.c
vi main1.c
编写sub1.c
float x2x(int a, int b){
return a + b;
}
编写main1.c:
#include<stdio.h>
#include"sub1.c"
int main(){
int a = 5, b = 3;
printf("%f\n",x2x(a, b));
return 0;
}
在Ubuntu系统用gcc命令行方式编译主程序main1.c并运行
gcc -g main1.c -o main
./main
运行结果如下:
在windows系统下用Microsoft Visual C++6.0编译main1.c并运行
将sub1.c改成sub1.h头文件形式然后在主程序中直接调用sub1.h。
运行结果如下:
在ubuntu系统下用Makefile方式编程主程序
在test目录下创建 makefile文件
touch makefile
编写makefile文件:
main1: main1.o sub1.o
main1.o main1.c sub1.h
cc -c main1.c
sub1.o: sub1.c sub1.h
cc -c sub1.c
此过程需添加sub1.h头文件
float x2x(int a,int b);
并修改sub1.c
#include"sub1.h"
float x2x(int a, int b){
return a + b;
}
修改main1.c:
#include<stdio.h>
#include"sub1.h"
int main(){
int a = 5, b = 3;
printf("%f\n",x2x(a, b));
return 0;
}
执行make命令结果如图: