Ubuntu系统中使用gcc和Makefile编译程序

Ubuntu系统使用gcc和Makefile编译c程序

  • 在ubuntu系统用gcc 命令行方式编译
    • 使用gcc生成可执行文件
    • 运行程序及结果
    • 在windows系统下用熟悉的编译工具编译主程序main1.c 并运行。
    • 用Makefile方式编程主程序

题目
请编写一个主程序文件 main1.c 和一个子程序文件 sub1.c, 要求:子程序sub1.c 包含一个算术运算函数 float x2x(int a,int b),此函数功能为对两个输入整型参数做某个运算,将结果做浮点数返回;主程序main1.c,定义并赋值两整型变量,然后调用函数 x2x,将x2x的返回结果printf出来。1) 请在ubuntu系统用gcc 命令行方式编译主程序main1.c 并运行; 2) 请在windows系统下用你熟悉的编译工具编译主程序main1.c 并运行。

在刚刚基础上,在ubuntu系统下用Makefile方式编程主程序。

在ubuntu系统用gcc 命令行方式编译

编写子程序文件 sub1.c
创建一个文件sub1.c

touch sub1.c

进入编辑

vim sub1.c

编写sub1.c

extern float x2x(int a,int b)
{
     
     return  (float)a/b;
}

Ubuntu系统中使用gcc和Makefile编译程序_第1张图片

编写主程序文件 main1.c

#include "sub1.c"
#include 
int main()
{
     
    int x,y;
    scanf("%d%d",&x,&y);
    printf("%5f",x2x(x,y));
    return 0;
}

Ubuntu系统中使用gcc和Makefile编译程序_第2张图片

使用gcc生成可执行文件

gcc main1.c -o main1

在这里插入图片描述

运行程序及结果

输入代码运行程序

./main1

在这里插入图片描述
运行结果
在这里插入图片描述用户自己输入两个数字,做除法,这里输入的10和8,正确求出答案1.25(没加换行,后面a904352517是用户名)

在windows系统下用熟悉的编译工具编译主程序main1.c 并运行。

编写sub1.c
Ubuntu系统中使用gcc和Makefile编译程序_第3张图片
编写main1.c
Ubuntu系统中使用gcc和Makefile编译程序_第4张图片运行结果(输入的10和8,求出1.25)
Ubuntu系统中使用gcc和Makefile编译程序_第5张图片

用Makefile方式编程主程序

安装Makefile(需要root权限)

apt-get install make

Ubuntu系统中使用gcc和Makefile编译程序_第6张图片

编写makefile

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

Ubuntu系统中使用gcc和Makefile编译程序_第7张图片执行make

make

在这里插入图片描述

运行及结果
运行

./main1

结果(输入10和8,正确得到1.25)
在这里插入图片描述

你可能感兴趣的:(ubuntu,编程语言,linux,嵌入式)