嵌入式Linux开发基础

本文介绍了如何在Ubuntu和Windows系统下使用GCC命令行和Makefile编译子程序(sub1.c)和主程序(main1.c),涉及x2x函数的实现和运行结果。作者分享了实验过程中的学习体验和初次接触嵌入式系统时遇到的问题解决过程。
摘要由CSDN通过智能技术生成


前言

编写一个主程序文件 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 并运行。

  3. 在任务4基础上,在ubuntu系统下用Makefile方式编程主程序。

二、实验步骤

2.1 ubuntu系统中以gcc命令行方式编译子程序sub1.c

#include <stdio.h>
int main()
{
        float x2x(int a,int b);
        int x,y;
        float z;
        printf("please enter the x and y:\n");
        scanf("%d %d", &x,&y);
        z=x2x(x,y);
        printf("x+y=%f\n",z);
        return 0;
}

2.2 ubuntu系统中以gcc命令行方式编译主程序main.c

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

2.3 ubuntu系统下运行结果

在这里插入图片描述

2.4 在windows系统下使用

2.4.1 使用编写main.c与sub1.c

在这里插入图片描述

sub1.c:

#include <stdio.h>
int main()
{
        float x2x(int a,int b);
        int x,y;
        float z;
        printf("please enter the x and y:\n");
        scanf("%d %d", &x,&y);
        z=x2x(x,y);
        printf("x+y=%f\n",z);
        return 0;
}

main.c:

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

#2.4.2 windows系统下运行结果

在这里插入图片描述

2.5 ubuntu系统中使用Makefile方式编译主程序

MakeFile文件:

main:sub1.o main.c
		gcc main.c sub1.o -o main
sub1.o:sub1.c
		gcc -c sub1.c -o sub1.o
clean:
		rm *.o

输入make执行:
在这里插入图片描述

三.总结

在以前曾对虚拟机,ubuntu等等有懵懂的了解,对于其中的许多知识都不曾了解,因此,在本次实验初期遇到诸多困难,包括安装,以及许多命令不会使用。但经过此次嵌入式系统实验,对于文件的建立,文件的编译,基础的makefile语法等等也有了新的属于自己的认识与见解。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值