ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

不同方式编译c程序

2021-09-13 17:58:27  阅读:190  来源: 互联网

标签:gcc 方式 sub1 int 程序 makefile 编译 main1 编写


 

目录

 一、题目要求

二、在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

结果如下图:

 三、在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.编译运行得到如下结果:

 四、在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的得到结果如下图:

 五、总结

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

标签:gcc,方式,sub1,int,程序,makefile,编译,main1,编写
来源: https://blog.csdn.net/XTF201029/article/details/120269617

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有