本文主要是介绍在Ubuntu系统下用gcc和makefile/在Windows系统下用Visual C++6.0编译C语言程序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在Ubuntu系统下用gcc和makefile/在Windows系统下用Visual C++6.0编译C语言程序
程序说明:请编写一个主程序文件 main1.c 和一个子程序文件 sub1.c, 要求:子程序sub1.c 包含一个算术运算函数 float x2x(int a,int b),此函数功能为对两个输入整型参数做某个运算,将结果做浮点数返回;主程序main1.c,定义并赋值两整型变量,然后调用函数 x2x,将x2x的返回结果printf出来。
1.用gcc编译
1.1创建一个sub1.h的头文件
在gedit编译器编写头文件sub1.h
#ifnedf _SUB1_H_
#define _SUB1_H_
float x2x(int a,int b);
#endif
1.2创建一个sub1.c文件
在gedit编译器编写sub1.c
#include"sub1.h"
float x2x(int a,int b)
{
float x=a+b;
return x;
}
1.3创建一个main1.c文件
在gedit编译器编写main1.c文件
#include<stdio.h>
#include"sub1.h"
void main()
{
float y=x2x(2,2);
printf("a+b=%lf\n",y);
}
1.4用gcc编译C文件
先将sub1.c文件用gcc编译成目标文件sub1.o;
再将main1.c文件用gcc编译成目标文件main.o;
最后将两个文件合成一个可执行文件,并运行结果如下:
2. 用Visual C++6.0编译
2.1首先创建一个工程
2.2在工程下面创建一个头文件sub1.h
编写头文件,程序如下:
#include<stdio.h>
float x2x(float a,float b)
{float x=a+b;return x;
}
2.3在工程下创建一个主程序main1.c
编写主程序:
#include<stdio.h>
#include"sub1.h"
void main()
{int a=2;int b=2;float y;y=x2x(a,b);printf("%f\n",y);
}
2.4编译并运行,输出如下
3.用makefile编译
3.1用gedit创建makefile文件
sharapova: main.o sub1.o
gcc -o sharapova main.o sub1.o
main1.o: main1.c
gcc -c main1.c
sub1.o: sub1.c
gcc -c sub1.c
3.2编译makefile文件
用make命令
编译所有.c文件生成可执行文件,并输出结果
以上输出说明编辑makefile时出现了格式错误
正确的格式如下:
sharapova: main.o sub1.ogcc -o sharapova main.o sub1.o
main1.o: main1.cgcc -c main1.c
sub1.o: sub1.cgcc -c sub1.c
注:gcc前都需要tab键空格
正确输出结果如下:
这篇关于在Ubuntu系统下用gcc和makefile/在Windows系统下用Visual C++6.0编译C语言程序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!