本文在windows环境下通过虚拟机软件(比如Vmware、VirtualBox)安装Ubuntu 16.04/18.04 Desktop,并设置网络参数保证系统能上网;熟练掌握Ubuntu常用命令,并学习使用vi/vim、或nano、或gedit文本编辑软件;同时编写一个主程序文件 main1.c 和一个子程序文件 sub1.c,和操作在ubuntu系统下用Makefile方式编程主程序。
文章目录
(一)环境配置
●虚拟机软件 VMware Workstation Pro
●Ubuntu Server 18.04
●windows
(二)虚拟机系统安装与网络环境配置
1.常见虚拟机系统
●VirtualBox(https://www.virtualbox.org/)
●VMware Workstation(https://www.vmware.org/)
本文采用VMware Workstation,首先下载好VMware Workstation安装包,根据相应的视频或安装指引进行安装。
2.创建虚拟机环境调试
●首先在D盘创建一个文件夹(名为虚拟机),再将虚拟机的默认位置进行修改。
●其次,再点击共享虚拟机,将共享虚拟机的位置也改成之前所创文件夹的位子。
3.设置适配的网络参数
●网络适配器的设置
点击最上角虚拟机(M),选择虚拟机设置。
然后再将网络适配器现实的模式,选择为NAT模式。
●虚拟网络编辑器设置
首先点击最上角的编辑,打卡虚拟网络编辑器。
然后再点击VMnet8 NAT模式。
点击DHCP 设置,可以查看起始IP地址到结束IP地址这个范围。
与此同时,选择NAT模式,还需要点击NAT设置,可以进行添加端口转发或者移除。
4.安装的注意事项
●一定要记住自己的用户名与密码,不然忘记后,找回过程非常麻烦。
●一定要选上按空格选上OpenSSH server,这里的×其实就相当于√。
●到了这个界面需要耐心的等待,不同的电脑等待时间可能不同。
●在输入密码的时候,你输入的密码是不会显示出来的,输入完毕后,直接按Enter键。
5.选择NAT模式的好处
NAT又称为网络地址转换,此时我们主机A中新建的虚拟机采用的是NAT模式,这时主机A会生成一个新的ip地址,比如192.168.100.10,此时虚拟机上分配的ip地址就会和192.168.100.10这个地址同一个网段,而不会占用教室中主机A、B的网段的ip地址资源,比如虚拟机会被分配一个192.168.100.20的ip地址。
(三)将apt源更改为阿里源
Ubuntu系统一般采用 apt-get 命令进行某个软件的在线查找和安装,默认官方的软件源仓库位于国外,下载速度较慢。所以修改系统参数,选择国内镜像软件源仓库,以提高软件安装速度。
1.测试apt update速度
●首先输入apt update
,观察下载速度是否缓慢,如果很长,则需要更改系统参数。
2.apt的基础使用方法
如下图
3.修改源的过程
●首先输入sudo vim /etc/apt/sources.list
,我们要修改的文件是sources.list,它在目录/etc/apt/下。
文件内容得到替换如下
#deb包
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
##测试版源
deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
# 源码
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
##测试版源
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
# Canonical 合作伙伴和附加
deb http://archive.canonical.com/ubuntu/ xenial partner
deb http://extras.ubuntu.com/ubuntu/ xenial main
4.更新与修复
执行更新sudo apt-get update
复损坏的软件包,尝试卸载出错的包,重新安装正确版本的命令sudo apt-get -f install
更新软件的命令sudo apt-get upgrade
(四)在Ubuntu系统编写一个简单的 hello word 程序
1.vim、gcc及makefile的安装
●首先输入sudo apt-get install vim
,安装vim。
●其次输入sudo apt-get install gcc
,安装gcc。
●最后输入sudo apt-get install makefile
,安装makefile。
这里有相应的安装以及编写的链接http://t.csdn.cn/eXkUO。
2.创建hello.c C语言文件
●在命令窗口输入vim hello.c
创建hello.c C语言文件。
●再按i进入编辑界面。
#include<stdio.h>
int main()
{
printf("hello world!");
return 0;
}
●按下Esc键,再按:(冒号) ,再输入wq保存文件。
3.编译运行过程
●在命令窗口输入gcc hello.c -o hello
进行编译。
●在命令窗口输入./hello
运行程序。
完成在Ubuntu系统下用C语言编写一个简单的输出 hello word 的程序,并编译有、运行之。
(五)请编写一个主程序文件 main1.c 和一个子程序文件 sub1.c(分别在Ubuntu与Windows环境下)
1.编译需求
编写一个主程序文件 main1.c 和一个子程序文件 sub1.c, 要求:子程序sub1.c 包含一个算术运算函数 float x2x(int a,int b),此函数功能为对两个输入整型参数做某个运算,将结果做浮点数返回;主程序main1.c,定义并赋值两整型变量,然后调用函数 x2x,将x2x的返回结果printf出来。
①请在ubuntu系统用gcc 命令行方式编译主程序main1.c 并运行;
② 请在windows系统下用你熟悉的编译工具编译主程序main1.c 并运行。
2.在ubuntu虚拟机环境下
●输入vim main1.c
,先编写主函数。
*main1.c程序*
#include<stdio.h>
#include"sub1.h"
int main()
{
int a,b;
float y;
a=7,b=10;
y=x2x(a,b);
printf("%f",y);
return 0;
}
●再输入vim sub1.c
。
*sub1.c程序*
#include<stdio.h>
float x2x(int a,int b)
{
float x;
x=a+b;
return x;
}
●之后输入相应的命令编译并运行
编译gcc main1.c -o main1
运行./main1
3.在windows环境下
●本次采用在Dev c++编译器下操作。
主程序文件
#include <stdio.h>
#include "sub1.h"
int main()
{
int a,b;
a=7;b=10;
float c;
c=x2x(x,y);
printf("%f",c);
return 0;
}
子程序文件
#include <stdio.h>
float x2x(int x,int y)
{
float ppm;
ppm=x+y;
return ppm;
}
运行结果如下
(六)ubuntu系统下用Makefile方式编程主程序
1.什么是makefile
Makefile是一个名为GNU-Make软件所需要的脚本文件,该脚本文件可以指导Make软件控制arm-gcc等工具链去编译工程文件最终得到可执行文件,几乎所有的Linux发行版都内置了GNU-Make软件,VScode等多种IED也内置了Make程序。
2.makefile文件的创建、编译、运行
●首先在命令窗口输入gedit makefile
,创建makefile文件。
●但由于提示,需要先输入sudo apt install gedit
。此过程可能需要花一些时间,需要耐心等待即可。
此过程后,输入相应的代码
main:main1.o
gcc main1.o -o main
main1:main1
gcc -c main1.c
clean:
rm -rf *.o main
●保存该文件并关闭窗口。
●在命令行窗口输入make
。
●输入gcc main1.o -o main
进行编译。
●再输入./main
查看运行结果即可。
(七)总结
本次嵌入式Linux系统程序的开发回顾并不难,对于在Ubuntu系统下用C语言编写程序和在ubuntu系统下用Makefile方式编程主程序也并不难学。主要是需要耐心学习与寻找各种资料,才能收获满满。
寄语:这个世界或许并不完美
负重前行的时候不要忘了身旁的人
总有一些真心、真诚、真意的朋友或亲人,希望着你更优秀,更有思想,更懂得自尊自爱
![](https://img-blog.csdnimg.cn/95204b89e32b47749459a5eb36bb74dd.jpeg)