一、实验要求
- 在windows环境下通过虚拟机软件(比如Vmware、VirtualBox)安装Ubuntu 16.04/18.04 Desktop,并设置网络参数保证系统能上网;熟练掌握Ubuntu常用命令,并学习使用vi/vim、或nano、或gedit文本编辑软件。
- Ubuntu系统一般采用 apt-get 命令进行某个软件的在线查找和安装,默认官方的软件源仓库位于国外,下载速度较慢。请修改系统参数,选择国内镜像软件源仓库,以提高软件安装速度。
- 在Ubuntu系统下用C语言编写一个简单的输出 hello word 的程序,并编译有、运行之。
- 请编写一个主程序文件 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 并运行。 - 在任务4基础上,在ubuntu系统下用Makefile方式编程主程序。
- 请将第4、5实验过程和结果写成博客方式的实验报告(用markdown格式,而非word格式。markdown文字编辑器推荐使用typora),提交实验报告至学习通;或者注册博客园/CSDN,在线发布实验报告,在学习通提交对应博客地址(建议后者)。
二、实验报告
- 请编写一个主程序文件 main1.c 和一个子程序文件 sub1.c, 要求:子程序sub1.c 包含一个算术运算函数 float x2x(int a,int b),此函数功能为对两个输入整型参数做某个运算,将结果做浮点数返回;主程序main1.c,定义并赋值两整型变量,然后调用函数 x2x,将x2x的返回结果printf出来。
(1)请在ubuntu系统用gcc 命令行方式编译主程序main1.c 并运行;
main1.c程序:
#include<stdio.h>
float x2x(int a,int b);
int main()
{
int a,b;
printf("a=");
scanf("%d",&a);
printf("b=");
scanf("%d",&b);
printf("a*b=%.2f",x2x(a,b));
return 0;
}
sub1.c程序:
float(int a,int b)
{
return a*b;
}
实验过程及结果:
(2)请在windows系统下用你熟悉的编译工具编译主程序main1.c 并运行。
程序:
#include<stdio.h>
float x2x(int a,int b)
{
return a*b;
}
int main()
{
int a,b;
printf("a=");
scanf("%d",&a);
printf("b=");
scanf("%d",&b);
printf("a*b=%.2f",x2x(a,b));
return 0;
}
实验过程及结果:
5. 在任务4基础上,在ubuntu系统下用Makefile方式编程主程序。
main1.c程序:
#include<stdio.h>
float x2x(int a,int b);
int main()
{
int a,b;
printf("a=");
scanf("%d",&a);
printf("b=");
scanf("%d",&b);
printf("a*b=%.2f",x2x(a,b));
return 0;
}
sub1.c程序:
float(int a,int b)
{
return a*b;
}
makefile程序:
prog:sub1.o main1.c
gcc main1.c sub1.o -o prog
sub1.o:sub1.c
gcc -c sub1.c -o sub1.o
clean:
rm *.o
实验过程及结果:
三、实验总结
在本次实验中,我通过安装VMware和Ubuntu等软件,了解到了关于Linux系统的相关知识。在进行实验的过程中,因为对Ubuntu的使用和编程不了解,我遇到了一系列的问题,让我感到十分困难。但是,在查阅资料和请教同学之后,我开始了解到命令行的格式和makeflie编程的规则,最终完成了嵌入式系统程序设计基础的相关实验。