ARM Linux 开发基础技能实战演练

ARM Linux 开发基础技能实战演练

主要介绍 Linux 应用开发基础技能,包括以下五方面的内容:

1、Git 的使用

2、面向对象 C

3、文件读写

4、进程与线程

5、TCP、UDP 通信基础

Git 的使用(何为Git及用途)

1 关于版本管理系统

记录文件内容变化,以便将来查阅特定版本情况

2 Git与其他版本管理系统的异同

ARM Linux 开发基础技能实战演练_第1张图片

3 Git的历史

ARM Linux 开发基础技能实战演练_第2张图片

Git 的使用(Git 基本功能介绍)

基于Ubuntu

1 安装以及配置

ARM Linux 开发基础技能实战演练_第3张图片

2 获取仓库

ARM Linux 开发基础技能实战演练_第4张图片

3 记录每次变更

ARM Linux 开发基础技能实战演练_第5张图片

4 远程仓库操作

ARM Linux 开发基础技能实战演练_第6张图片

命令示例如下

Git 的使用(Git的实现原理)

1 基于文件快照的记录方式

ARM Linux 开发基础技能实战演练_第7张图片

2 Git的分支

ARM Linux 开发基础技能实战演练_第8张图片
ARM Linux 开发基础技能实战演练_第9张图片
ARM Linux 开发基础技能实战演练_第10张图片

3 分布式的Git

ARM Linux 开发基础技能实战演练_第11张图片

司令官与副官工作流适用于更加大型的组织

blessed repository = 项目仓库 lieutenant = 副职官员

Git 的使用(Git 实践)

1 使用git本地仓库管理 Hello world程序开发

演示新建helloworld文件,运行成功,提交;

演示复制写文件的代码文件,运行成功,提交;

演示使用git checkout回退到helloworld,运行成功;再使用git checkout master恢复到最新版本;使用git reset彻底回到某个历史版本,丢弃之后的更改

2 在自己电脑搭建Git服务器

新建用户、配置git仓库

3 使用git进行多人的分工协作开发

在同一台电脑使用两个不同用户开发 Hello world

面向对象 C 语言编程(面向对象思想概览)

1 类与对象

ARM Linux 开发基础技能实战演练_第12张图片

2 封装、继承与多态

ARM Linux 开发基础技能实战演练_第13张图片
ARM Linux 开发基础技能实战演练_第14张图片
ARM Linux 开发基础技能实战演练_第15张图片

面向对象 C 语言编程- (C语言面向对象实现基础)

1 的实现

ARM Linux 开发基础技能实战演练_第16张图片

2 封装的实现

ARM Linux 开发基础技能实战演练_第17张图片

3 继承的实现

ARM Linux 开发基础技能实战演练_第18张图片

派生类定义中必须把基类放在最前面,这样方便将派生类强制类型转换为基类

4 多态的实现

ARM Linux 开发基础技能实战演练_第19张图片

面向对象 C 语言编程(实战演练)

并不是真的要画图,只是用来展示程序框架

ARM Linux 开发基础技能实战演练_第20张图片
ARM Linux 开发基础技能实战演练_第21张图片

黑色箭头为继承,蓝色箭头为使用【Canvas只能管理Shape,不认识Circle,后续代码需要强制转换】

画图程序流程图如下

ARM Linux 开发基础技能实战演练_第22张图片

源代码如下

main.c

ARM Linux 开发基础技能实战演练_第23张图片

canvas.h

ARM Linux 开发基础技能实战演练_第24张图片

canvas.c

ARM Linux 开发基础技能实战演练_第25张图片
ARM Linux 开发基础技能实战演练_第26张图片

shape.h

ARM Linux 开发基础技能实战演练_第27张图片

shape.c

ARM Linux 开发基础技能实战演练_第28张图片

circle.h

ARM Linux 开发基础技能实战演练_第29张图片

circle.c

ARM Linux 开发基础技能实战演练_第30张图片

运行效果

ARM Linux 开发基础技能实战演练_第31张图片

文件读写(文件相关概念)

1 文件的概念

ARM Linux 开发基础技能实战演练_第32张图片

2 Linux系统中文件的类别

ARM Linux 开发基础技能实战演练_第33张图片

3 文件描述符

ARM Linux 开发基础技能实战演练_第34张图片

4 文件指针

ARM Linux 开发基础技能实战演练_第35张图片

文件读写(系统调用和标准IO库)

1 系统调用常用函数

ARM Linux 开发基础技能实战演练_第36张图片

原子读写主要用于多线程

函数原型如下

ARM Linux 开发基础技能实战演练_第37张图片

2 标准IO库常用函数

ARM Linux 开发基础技能实战演练_第38张图片

函数原型如下

ARM Linux 开发基础技能实战演练_第39张图片

3 文件描述符与文件指针的关系

ARM Linux 开发基础技能实战演练_第40张图片

文件读写(文件读写实践)

1 系统调用文件读写实例

将一个文件逐个字符读出并写入另外一个文件

ARM Linux 开发基础技能实战演练_第41张图片

O_TRUNC若文件已存在,则截断为0byte

O_CREAT若文件不存在,则新建文件

运行效果如下

ARM Linux 开发基础技能实战演练_第42张图片

2 标准IO库文件读写实例

ARM Linux 开发基础技能实战演练_第43张图片
ARM Linux 开发基础技能实战演练_第44张图片

3 系统调用与标准IO库的比较

使用time命令对比执行时间

ARM Linux 开发基础技能实战演练_第45张图片

视频提到POSIX,找到一篇文章,存在这里

posix是什么都不知道,还好意思说你懂Linux?

进程与线程(进程的概念)

1 什么是进程

ARM Linux 开发基础技能实战演练_第46张图片

中括号的内容是内核自动启动的

ARM Linux 开发基础技能实战演练_第47张图片

2 进程与程序的关系

ARM Linux 开发基础技能实战演练_第48张图片

3 父进程与子进程的关系

ARM Linux 开发基础技能实战演练_第49张图片

进程与线程(线程的概念)

1 什么是线程

linux将线程称之为【轻量级进程LWP】

下图中同一个进程PID23044有多个线程LWP

ARM Linux 开发基础技能实战演练_第50张图片

2 进程与线程的关系

ARM Linux 开发基础技能实战演练_第51张图片
ARM Linux 开发基础技能实战演练_第52张图片

3 线程的同步

ARM Linux 开发基础技能实战演练_第53张图片

进程与线程(实操演练)

1 查看系统中的进程和线程

ARM Linux 开发基础技能实战演练_第54张图片

-e列出系统所有进程、-o列出属性值、pid进程ID、comm进程名称、cmd进程启动方式

ppid parent process父进程ID

ARM Linux 开发基础技能实战演练_第55张图片

RTPRIO优先级、NI nice优先级的权重 -20~19、pcpu占用CPU的百分比、

2 进程的创建

ARM Linux 开发基础技能实战演练_第56张图片
ARM Linux 开发基础技能实战演练_第57张图片

3 线程的创建和同步

ARM Linux 开发基础技能实战演练_第58张图片
ARM Linux 开发基础技能实战演练_第59张图片
ARM Linux 开发基础技能实战演练_第60张图片

线程同步

ARM Linux 开发基础技能实战演练_第61张图片

全局变量sum加锁

TCP、UDP 通信基础(TCPIP 简介)

1 TCP/IP背景和介绍

ARM Linux 开发基础技能实战演练_第62张图片
ARM Linux 开发基础技能实战演练_第63张图片
ARM Linux 开发基础技能实战演练_第64张图片

2 基本概念介绍

ARM Linux 开发基础技能实战演练_第65张图片

端口号用于区分同一台PC机内运行的不同软件【即服务】

ARM Linux 开发基础技能实战演练_第66张图片

TCP、UDP 通信基础(UDP 协议)

1 传输层协议

ARM Linux 开发基础技能实战演练_第67张图片

2 UDP概述

ARM Linux 开发基础技能实战演练_第68张图片

3 UDP报文

ARM Linux 开发基础技能实战演练_第69张图片

TCP、UDP 通信基础(TCP 协议)

1 TCP概述

ARM Linux 开发基础技能实战演练_第70张图片

2 TCP报文

ARM Linux 开发基础技能实战演练_第71张图片

3 连接的建立和断开

ARM Linux 开发基础技能实战演练_第72张图片
ARM Linux 开发基础技能实战演练_第73张图片

4 TCP可靠传输的实现

ARM Linux 开发基础技能实战演练_第74张图片

TCP、UDP 通信基础(IP 网际协议)

1 IP数据报

ARM Linux 开发基础技能实战演练_第75张图片

2 IP地址分类

ARM Linux 开发基础技能实战演练_第76张图片

3 子网划分

ARM Linux 开发基础技能实战演练_第77张图片

4 路由选择

ARM Linux 开发基础技能实战演练_第78张图片

TCP、UDP 通信基础(TCP、UDP 通信实践)

1 UDP echo实例

ARM Linux 开发基础技能实战演练_第79张图片
ARM Linux 开发基础技能实战演练_第80张图片

在同一台电脑先运行server,随后运行client端,client发信息,收到server回复。

2 TCP echo实例

ARM Linux 开发基础技能实战演练_第81张图片
ARM Linux 开发基础技能实战演练_第82张图片
ARM Linux 开发基础技能实战演练_第83张图片

你可能感兴趣的:(git,linux)