不同方式编译c程序

 

目录

 一、题目要求

二、在Ubuntu系统用gcc命令编译程序

1.在终端输入以下代码新建源文件

2.编写程序

3.gcc编译运行

 三、在windows系统用vc6.0编译程序

1.编写主程序main1.c

2.编写头文件sub1.h

3.编译运行得到如下结果:

 四、在Ubuntu系统下用makefile方式编程程序

1.创建makefile文件

2.编写makefile文件

3.保存后在终端输入make执行,执行后再输入./main的得到结果如下图:

 五、总结


一、题目要求

请编写一个主程序文件 main1.c 和一个子程序文件 sub1.c, 要求:子程序sub1.c 包含一个算术运算函数 float x2x(int a,int b),此函数功能为对两个输入整型参数做某个运算,将结果做浮点数返回;主程序main1.c,定义并赋值两整型变量,然后调用函数 x2x,将x2x的返回结果printf出来。

二、在Ubuntu系统用gcc命令编译程序

1.在终端输入以下代码新建源文件

vim main1.c
vim sub1.c

2.编写程序

(1)编写main1.c

#include<stdio.h>
#include"sub1.c"
int main()
{
        int a=6,b=2;
        float c;
        c=x2x(a,b);
        printf("%f\n",c);
        return 0;
}

(2)编写sub1.c

#include<stdio.h>
float x2x(int a,int b)
{
        float c;
        c=a/b;
        return c;
}

3.gcc编译运行

保存后在终端输入以下命令就可得到结果

gcc main1.c -o main1
./main1

结果如下图:

不同方式编译c程序

 三、在windows系统用vc6.0编译程序

1.编写主程序main1.c

#include<stdio.h>
#include"sub1.h"
int main()
{
        int a=6,b=2;
        float c;
        c=x2x(a,b);
        printf("%f\n",c);
        return 0;
}

2.编写头文件sub1.h

#include<stdio.h>
float x2x(int a,int b)
{
        float c;
        c=a/b;
        return c;
}

3.编译运行得到如下结果:

不同方式编译c程序

 四、在Ubuntu系统下用makefile方式编程程序

1.创建makefile文件

vim makefile

2.编写makefile文件

main: main1.o
        gcc main1.o -o main 
main1: main1.c
        gcc -c main1.c

3.保存后在终端输入make执行,执行后再输入./main的得到结果如下图:

不同方式编译c程序

 五、总结

通过此次作业,让我对在Ubuntu中编写c程序有了更深的了解。同时,使得我对在Linux课程中学习到的vim命令进行文本编辑掌握的更加熟练,也学会了用gcc命令去编译运行所编写的程序。另外,相比于gcc命令,我认为用makefile方式编程程序更加复杂,我对makefile方式编程程序也掌握的不够透彻,因此我还需要继续查阅资料去深入学习掌握makefile方式编程程序。

上一篇:[置顶] LOAD语句:利用MSSQL中的xp_cmdshell功能,将指定文件夹下的指定文件,生成mysql的LOAD语句


下一篇:交叉编译Linux SDK —— Makefile