栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

嵌入式系统程序设计基础

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

嵌入式系统程序设计基础

嵌入式系统程序设计基础 一、环境配置 1.安装虚拟机软件(VMware或VirtualBox)

下载并安装VMware Workstation 16.1.2 Player(Windows x64)
默认步骤即可,完成后界面如下:

2.下载Ubuntu20.04(Desktop)映像文件(.iso) 3.创建新虚拟机


之后按照默认步骤操作即可

在新版VMware中,创建虚拟机时会自动安装VM-Tools,这是一个沟通主机与虚拟机之间的工具,非常有用,之后会用到,如果安装失败请自行搜索解决方法。

虚拟机界面如下:

4.Ubuntu的环境配置

(1)进入到Ubuntu后首先做一件事:换源
手摸手教程之ubuntu20.04更改国内镜像源(附其他版本ubuntu换源教程,最新详细教程)

如果顺利安装好VM-Tools的话,可以直接将镜像源的代码从主机网页复制到虚拟机的该文件中。如果没有安装好VM-Tools,就只能一行一行的写进去了。

(2)通过apt指令安装gcc、gdb、nano
sudo apt-get install gcc
sudo apt-get install gbd
sudo apt-get install nano

二、程序设计 1.在Ubuntu系统下用C语言编写一个hello word

通过touch指令来创建文件,再通过nano指令编写文件内容


编译helloworld.c

通过gcc编译后会生成一个名为a.out的可执行文件

再通过./a.out指令运行该文件,结果如下:

2.编写一个主程序文件 main1.c 和一个子程序文件 sub1.c

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

main1.cpp代码如下:

#include

int main(){

float x2x(int x, int y);

int a, b;

float c;

printf("请输入a与b:n");

scanf_s("%d%d", &a, &b);//Ubuntu系统下没有_s

c = x2x(a, b);

printf("%f",c);

return 0;
}

sub1.cpp代码如下:

#include
float x2x(int x, int y) {

	float z;
	
	z = x + y;
	
	return z;
}

(1)在Ubuntu系统用gcc 命令行方式编译主程序main1.c 并运行

运行结果如下:

(2)在windows系统下编译主程序main1.c 并运行

运行结果如下:

(3)在Ubuntu系统下用Makefile方式编译该程序

首先通过sudo apt install make在Ubuntu系统中安装make

创建sub1.h文件并写入代码:

float x2x(int a, int b);

创建Makefile文件并写入代码:

main1: main1.o sub1.o
	gcc -o main1 main1.o sub1.o
main1.o: main1.c sub1.h
	gcc -c main1.c
sub1.o: sub1.c sub1.h
	gcc -c sub1.c
clean:
	rm *.o main1

执行make指令后make会按照Makefile中的代码为规则为我们自动编译程序

通过ls指令可以看到make生成了main1.o和sub1.o这两个中间文件,再将这两个中间文件编译生成可执行文件main1

运行main1文件结果如下:

总结:
gcc是一个很基础的编译工具,而makefile方式是可以根据我们自己编写的规则自动帮我们编译文件。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/323984.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号