ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

嵌入式环境下C编程初探:Ubuntu虚拟机搭建与C语言编译

嵌入式环境下C编程初探:Ubuntu虚拟机搭建与C语言编译 嵌入式环境下C编程初探Ubuntu虚拟机搭建与C语言编译文章目录嵌入式环境下C编程初探Ubuntu虚拟机搭建与C语言编译前言一、虚拟机Ubuntu22.04的搭建1、镜像文件下载2、创建虚拟机3、在VM里面挂载ISO镜像4、进入Ubuntu安装引导界面二、C语言编译环境安装编写并运行hello world1、build-essential软件的安装与验证2、编写hello world并编译、运行三、多文件C程序编写与Makefile自动化编译1、main1.c和sub1.c的编写2、在Ubuntu系统使用gcc编译并运行3、在windows系统使用VS编译并运行4、使用Makefile编程四、总结前言嵌入式开发离不开 Linux 环境而 Ubuntu 虚拟机是入门最友好的选择之一。本文记录我从零开始搭建 Ubuntu 22.04 虚拟机、配置 C 语言编译环境再到编写多文件程序并使用 Makefile 自动化编译的完整过程。文中每一步都配有截图希望能帮助同样刚接触嵌入式 C 编程的读者少走弯路。一、虚拟机Ubuntu22.04的搭建1、镜像文件下载从Ubuntu官网下载Ubuntu 22.04.5 LTS 64位桌面版本镜像文件Ubuntu-22.04.5-desktop-amd-64.iso。Ubuntu不同版本的对应不同名称如Ubuntu22.04是jammyUbuntu20.04是focalUbuntu18.04是bionicUbuntu16.04是xenial。Ubuntu官网直接访问Ubuntu官方网站下载ISO镜像国内网速下载极低只有几十kb/s。本人实测发现手机热点速度更快或者在清华大学Tuna镜像站下载。2、创建虚拟机打开下好的虚拟机软件VMware Workstation创建新的虚拟机。随后会出现一个弹窗配置类型选择自定义。如果只在自己电脑使用硬件兼容性选择最新的即可。需要拷贝给其他人建议选低版本。之后选择稍后按照操作系统所有参数可以自己手动定义。下一步。选择Linux(L)版本Ubuntu 64 位。下一步。位置可新建一个文件夹不要放进VMware软件的安装文件夹里面。根据自己电脑配置选择处理器数量。虚拟机内存可根据本机内存进行选择。我本机16G选择4G。选择使用网络地址转换NAT。此后两部按推荐选择即可。选择创建新的虚拟磁盘。下一步。将虚拟机磁盘文件个此前的配置文件存放在同一文件夹里面。下一步之后点击完成即可。3、在VM里面挂载ISO镜像左侧库里面点击Ubuntu22.04选中这台虚拟机双击CD/DVD(SATA)。勾选使用ISO映像文件找到之前下载的Ubuntu映像文件。点击完成之后启动虚拟机即可。4、进入Ubuntu安装引导界面选择中文然后点击安装Ubuntu。接下来几步分别选择键盘布局Chinese、正常安装、清除整个磁盘并安装Ubuntu、时区选择上海。安装完成后点击重启进入介质移除提示界面在VMware虚拟机设置中取消CD/DVD的启动连接点击确定之后按下回车虚拟机即可进入Ubuntu系统。到这里我们的Ubuntu虚拟机就搭建完成了。二、C语言编译环境安装编写并运行hello world为完成C语言程序编译需安装 build-essential 软件包该包提供gcc编译器make工具。Ubuntu自带gedit、vim、nano文本编辑器仅用于编写源代码无法将C语言转为可执行的程序。gcc编译器负责把源码翻译成电脑能执行的程序。下面我将安装此软件并编写hello word程序验证环境是否正常。1、build-essential软件的安装与验证打开终端输入命令:sudo apt install build-essential输入命令 gcc -v 验证gcc编译器终端输出gcc版本号说明gcc编译器安装成功。输入命令 make -v 验证make工具输出版本信息代表make工具安装正常。2、编写hello world并编译、运行打开gedit编译器新建 hello.c 源码文件在里面编写代码#includestdio.hintmain(){printf(hello world!\n);return0;}编译生成可执行的文件名字叫hello。最后再运行程序终端输出hello world三、多文件C程序编写与Makefile自动化编译请编写一个主程序文件 main1.c 和一个子程序文件 sub1.c。子程序sub1.c 包含一个算术运算函数 float x2xint aint b此函数功能为对两个输入整型参数做某个运算将结果做浮点数返回。主程序main1.c定义并赋值两整型变量然后调用函数 x2x将x2x的返回结果printf出来。要求在ubuntu系统用gcc 命令行方式编译主程序main1.c 并运行在windows系统下用你熟悉的编译工具编译主程序main1.c 并运行。在此基础上在ubuntu系统下用Makefile方式编程主程序。1、main1.c和sub1.c的编写终端输入命令gedit sub1.c新建一个源码文件编写的代码如下floatx2x(inta,intb){return(float)a/b;}终端输入命令gedit main1.c创建一个主函数源码文件编写代码如下#includestdio.hfloatx2x(inta,intb);intmain(){intm10,n20;floatresultx2x(m,n);printf(%f\n,result);return0;}2、在Ubuntu系统使用gcc编译并运行在终端输入命令编译后运行终端输出正确浮点值。3、在windows系统使用VS编译并运行打开VS2022创建新项目选择空项目。创建完毕后添加两个源文件使用本地调试器编译运行。4、使用Makefile编程Makefile实现了多文件项目的自动化编译把编译指令固化到文件中简化编译操作适合管理包含多个源文件的c语言工程。先在终端输入命令gedit Makefile创建Makefile文件。脚本代码如下main: main1.c sub1.c gcc main1.c sub1.c -o main2 //前面为Tab键非空格 clean: rm -f main2 //前面为Tab键非空格make只负责编译不会自动运行程序编译完后需要手动执行。如下图情况四、总结在本次探索中我学会了搭建Ubuntu虚拟机在Linux系统下搭建C语言开发环境。掌握了gedit、vi、nano等文本编辑器的使用能够运用基础Linux命令完成文件创建、重命名等操作。完成C语言多文件程序编写区分主程序文件与子程序文件理解函数声明与函数实现的用法。学习使用gcc进行多文件联合编译同时在Windows的VS上测试代码体会C语言的跨平台特性。最后编写Makefile脚本实现自动化编译学会用 make 编译程序分清编译操作和程序运行的不同。本次实践让我理解了C语言多文件工程的开发流程。
返回列表