自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 C语言_网络编程_SQLite3数据库项目 _ 在线词典

一、项目分析 1、在线词典一般的饿运行过程:例如 — 服务器端将用户信息和历史记录保存在数据库中。客户端输入用户和密码,服务器端在数据库中查找、匹配,返回结果; 2、项目的流程 — 定义数据库中表的结构; — 定义消息结构体; — 分析服务器端和客户端 流程; —...

2019-12-23 10:51:32

阅读数 35

评论数 0

原创 Linux嵌入式 _ 数据库SQLite3

一、数据库基本概念 1、数据(Data) 能够输入计算机并能被计算机程序识别和处理的信息集合; 2、数据库(Database) 数据库是在数据库管理系统 管理和控制之下,存放在存储介质上的数据集合; 二、常用数据库 1、大型数据库 Oracle公司是最早开发关系数据库的厂商之...

2019-12-16 18:13:28

阅读数 18

评论数 0

原创 Linux嵌入式网络 _ I/O多路复用

一、I/O模型的概念 1、在UNIX/Linux下 主要有4中I/O模型: 阻塞I/O : 最常用; 非阻塞I/O : 可防止进程阻塞在I/O操作上,需要轮询 I/O多路复用:允许同时对多个I/O进行控制; 信号驱动I/O : 一种异步通信模型; — 前三种是同步通信模式;后一种是 ...

2019-12-16 15:56:34

阅读数 26

评论数 0

原创 Linux嵌入式网络 _ 网络信息检索、网络属性设置、超时检查、心跳检测

一、网络信息检索 1、网络信息检索 常用函数 gethostname(); 获得主机名 getpeername(); 获得与套接字相连的远程协议地址 getsockname(); 获得本地套接口协议地址; gethostbyname(); 根据主机名 取得主机信息 e...

2019-12-16 15:55:19

阅读数 12

评论数 0

原创 Linux嵌入式网络 _ TCP、IP协议原理

一、网络分析工具 1、网络测试分析工具 wireshark Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。 1、在ubu...

2019-12-11 11:27:46

阅读数 15

评论数 0

原创 Linux嵌入式网络 _ 广播和组播、UNIX域套接字

一、广播和组播 1、广播的概念: 前面介绍的数据包发送 方式只有一个接收方,称为 单播; 如果同时发送给局域网中的所有主机,称为 广播; 只有用户数据报(使用UDP协议)套接字才能广播; 广播的地址: 以192.168.1.0(255.255.255.0)网段为例 ,最大的主机地址 1...

2019-12-11 11:18:16

阅读数 15

评论数 0

原创 Linux嵌入式网络 _ UDP 编程

一 、UDP基本概念 udp :是不可靠传输,无连接的尽力传输; 二、UDP编程 API 1、发送api ssize_t send(int sockfd ,const void* buf , size_t len ,int flags); ssize...

2019-12-05 16:48:57

阅读数 6

评论数 0

原创 Linux嵌入式网络 _ 并发服务器 编程

一、并发服务器的 优点 当有多个客户端 需要同时连接 该服务器时,需要服务器分时复用的 处理 各客户端发送过来的数据; 当客服端退出的时候,服务器需要知道 该客户端已经退出了; 以下有两种 并发服务器的设计方式,优点各异,可根据需求选择适当的 方式; 二、多进程并发服务器 1、服务器 源码...

2019-12-02 15:02:31

阅读数 17

评论数 0

原创 Linux嵌入式网络 _ TCP编程基础

一、TCP编程概念 TCP通信过程可由以下 图例表示: 二、TCP编程 API 介绍 在以上图中,TCP通信中 最重要的 五 个API ,详细解析如下: 1、第一个API —— socket(int domain, int type, int protocol) (...

2019-12-02 14:59:36

阅读数 21

评论数 0

原创 Linux嵌入式网络 _ 网络基础

一、网络发展历史和分层 1、Internet 的历史 Initernet — 冷战的产物 2、网络互联促成了TCP/IP协议的产生 3、网络互联促成了TCP/IP协议的产生 4、网络的体系结构 ...

2019-11-28 18:29:16

阅读数 19

评论数 0

原创 嵌入式Linux _ System V IPC进程间通信

一、System V IPC (了解) 1、System V IPC机制概念 System V IPC (系统5的IPC 官方版本中引入的一大类进程间通信机制) IPC 对象包含: 共享内存 、 消息队列和信号灯集; 每个IPC对象有唯一的ID;(在创建是由系统分配的) IPC对象创...

2019-11-26 09:09:56

阅读数 25

评论数 0

原创 嵌入式Linux _ Unix进程间的通信方式

一、进程间通信方式介绍(了解) 1、进程间通信介绍 早期UNIX进程间通信方式; 无名管道(pipe) 有名管道(fifo) 信号(signal) System V IPC(进程间通信缩写) ----- 三种: 共享内存(share memor...

2019-11-25 15:47:11

阅读数 18

评论数 0

原创 嵌入式Linux _ 线程专题

一、线程的基本概念 及 创建 1、线程的概念(了解) — 进程的关系 进程是 运行一段程序 系统给其分配资源的总称; 进程有独立的地址空间;每个进程互不影响,只能访问自己空间的数据; Linux为每个进程创建task_struct 结构体; 每个进程都参与内核调度,互不影响; — 、为...

2019-11-22 18:24:11

阅读数 11

评论数 0

原创 嵌入式Linux _ 进程编辑及守护进程

一、进程的概念(了解) 程序:编译好的可执行文件 存放在磁盘上的指令和数据的有序集合。 静态的。 进程 执行一个程序所分配的资源的总称。 进程是程序的一次执行过程。 动态的,包括创建、调度、执行和消亡。 包括 :正文段 、用户数据段、系统...

2019-11-20 19:07:06

阅读数 9

评论数 0

原创 嵌入式Linux _ 库的制作以及使用

一、库的概念 — 库一般也叫程序库 ---- 简称库 — 库是一个二进制文件,包含的代码可被程序调用。— 库的种类: 标准库,数学库,线程库 ………. — 库有源码,可下载后编译;也可以直接安装二进制包。 — 系统中默认安装的库路径 /lib /usr/lib — ...

2019-11-18 15:33:57

阅读数 11

评论数 0

原创 嵌入式Linux _ 文件I/O

一、如何理解文件IO(了解) 在Linux下有两种文件操作方法 标准IO 文件IO 标准IO与文件IO的区别: 标准IO : 遵循C标准 、带缓冲 、 流(FILE结构体) 文件IO: POSIX规范 、无缓冲 、 文件描述符(fcl) 什么是文件IO: — posix(可移植操作系统...

2019-11-18 15:29:37

阅读数 27

评论数 0

原创 嵌入式Linux _ 标准I/O(二)

一、标准IO - 按对象读写 下列函数用来从流中读写若干个对象: #include <stdio.h> size_t fread(void *ptr,size_t size ,size_t n,FILE *fp) size_t fwrite(const void *ptr,si...

2019-11-18 15:03:15

阅读数 23

评论数 0

原创 嵌入式Linux _ 标准I/O

一、文件的概念和类型 1、文件IO 与标准IO IO操作的就是文件。 文件基础: 一组相关数据的有序集合。 Linux中常用的文件类型: 常规文件 r (.txt 二进制文件) 目录文件 d (文件夹) 字符设备文件 c 块设备文件 b ...

2019-11-15 17:48:39

阅读数 21

评论数 0

原创 数据结构与算法 _ 树与二叉树

一、树 二、二叉树

2019-11-14 18:10:23

阅读数 7

评论数 0

原创 数据结构与算法 _ 排序

一、排序的基本概念 排序(sort)是将无序的记录序列(或称文件)调整成有序的序列。 稳定排序和非稳定排序 — 相同的记录 4 在排序前 的顺序 与排序后的顺序一致 则称为此次排序为稳定排序,若两者顺序发生变化,则可称此次排序是不稳定排序。 外排序和内排序...

2019-11-14 18:09:32

阅读数 11

评论数 0

原创 数据结构与算法 _ 查找

一、查找的概念 查找的概念 查找(或检索)是在给定信息集上寻找特定信息元素的过程。 待查找的数据单位(或数据元素)称为记录。记录由若干数据项(或属性)组成,如学生记录。 若某个数据项的值能标识(或识别)一个或一组记录,则称为关键字。 ...

2019-11-14 18:04:12

阅读数 2

评论数 0

原创 数据结构与算法 _ 栈及队列的应用

一、栈 1、栈的定义 — 栈是限制在一端进行插入操作和删除操作的线性表(俗称堆栈),允许进行操作的一端称为“栈顶”,另外一固定端称为“”栈底“,当栈中没有元素时称为”空栈“。特点:后进先出(LIFO)。 2、栈的基...

2019-11-02 14:53:11

阅读数 11

评论数 0

原创 数据结构与算法 _ 单(双)向循环链表

一、循环链表 1、循环链表 将链表的尾节点指向链表的头节点,使得该链表可循环访问。 二、单/双向循环链表 1、单/双向链表 在单链表中,查找ai 的后继Next(l,ai),耗时仅为0(1),因为取ai之后继指针即可。但是查找ai的前驱Prior(L,ai),则需从链表的头指...

2019-11-02 11:55:42

阅读数 9

评论数 0

原创 数据结构与算法 _ 单链表

一、线性表和单链表的关系 1、线性表 线性表是信息表的一种形式,表中数据元素之间满足线性关系(或线性结构),是一种最基本、最简单的数据结构类型。 线性表的定义及运算: 线性表的定义是描述其逻辑结构,而运算是讨论在线性表上进行的查找、插入、删除等操作。 定义:线性表...

2019-11-01 11:02:24

阅读数 15

评论数 0

原创 数据结构与算法 _ 基本概念

一、数据结构的基本概念 1、基本概念与目的 数据结构(Data Structure)概念 数据结构是研究组成数据的数据元素的关系的学科。 数据结构研究目的 通过研究数据元素的关系,帮助我们在开发软件的时候更好的组建数据模型,让数据在内存中的操作更加的流畅高...

2019-10-31 11:33:34

阅读数 10

评论数 0

原创 数据结构与算法 _ 线性表

一、线性表基本概念 1、线性表的定义和表示方法 线性表的定义 — 线性表就是零个或多个相同数据元素的有限序列。 线性表的表示方法 2、线性表的基本运算 -1 (1) 建立一个空表:CreateList(L); (2) 置空表:ClearList(L...

2019-10-30 18:15:24

阅读数 14

评论数 0

原创 C语言 _ MakeFile(二)

一、Make的使用 选项 —-Cdir读入指定目录下的Makefile —-ffile 读入当前目录下的file文件作为Makefile —-i忽略所有的命令换行错误 —-Idir 指定被包含的Makefile所在目录 —-n 只打印要执...

2019-10-28 17:16:14

阅读数 7

评论数 0

原创 C语言 _ MakeFile(一)

一、Make简介 工程管理器,顾名思义,是指管理较多的文件。 Make工程管理器也就是个“自动编译管理器”,这里的"自动"是指它能够根据文件时间戳自动发现更新过的文件而减少编译的工作量,同时,它通过读入Makefile文件的内容来执行大量的编译工作。 Make将只编译改动...

2019-10-28 15:50:03

阅读数 11

评论数 0

原创 C语言 _ 内存管理

一、存储模型 1栈区 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等 2.堆区 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 3.静态全局数据区 主要包括静态全局区和常量区 char *s = "HelloWorld";//该字符串 H...

2019-10-24 18:31:55

阅读数 15

评论数 0

原创 C语言 —— 结构体

一、条件编译 1、 根据宏是否定义 #ifdef .......#else ................ #endif 2、根据宏定义的值 #define DEFINE 1 #if DEFINE .......#else ................ #endif 二、C语...

2019-10-24 15:33:06

阅读数 11

评论数 0

原创 C语言 _ 编辑、调试工具

一、GCC编译器 1、GNU工具 编译工具:把一个源程序编译成为一个可执行程序。 调试工具:能对执行程序进行源码及汇编级调试。 软件工程工具:用于协助多人开发或大型软件项目的管理,如make、CVS、Subvision 其他工具:用于把多个目标文件链接成可执行文件的链接器,或者用作格式转...

2019-10-24 11:57:01

阅读数 20

评论数 0

原创 USART _ 两串口同时使用,冲突问题

1、使用外设情况: 1、初始化了两个串口 :串口1以及串口2,使用串口2DMA发送数据,接收中断 接收数据; 使用串口1发送函数发送数据,接收中断接收数据; 2、问题出现的形式: ...

2019-10-24 10:58:55

阅读数 33

评论数 0

原创 Linux _ Shell编程 — 函数

一、shell函数的调用 1、函数调用的格式 方法1: value_name = `funtion_name [arg1 arg2 .......]` 函数的所有标准输出都传递给了主程序的变量。 方法2: funtion_na...

2019-10-23 19:38:43

阅读数 4

评论数 0

原创 Linux _ Shell编程 — 循环语句

一、循环语句for的用法 1、seq 1 2 10 :seq命令,此段语句的意思 --- 输出首数字为1 ,相间为2,到10为止的一串数字 输出 : 1 3 5 7 9 2、for 变量名 in 单词表 do 命令表 ...

2019-10-23 16:27:01

阅读数 9

评论数 0

原创 Linux _ Shell编程 — 分支语句

一、条件语句 1、结构性语句 结构性语句主要根据程序的运行状态、输入数据、变量的取值、控制信号以及运行时间等因素来控制程序的运行流程。 主要包括:条件测试语句(两路分支)、多路分支语句、循环语句、循环控制语句以及后台执行语句等。 2、条件语句 if ..... then......fi ...

2019-10-22 16:55:43

阅读数 15

评论数 0

原创 Linux _ Shell编程 — 功能语句

一、说明性语句 以#号开始到结束,不被解释执行。 文本第一行:#!/bin/sh ------------ 告诉os用哪种类型的shell来解释执行该程序。 二、常用功能性语句 任意的shell命令、用户程序或其它的shell程序。 1、常用功能性语句(read命令) read var ...

2019-10-22 11:04:04

阅读数 11

评论数 0

原创 Linux _ Shell编程 — 变量

一、shell脚本的基础知识 1、shell脚本的本质 语言的分类有: 编译性语言 ---------- C语言、C++语言、JAVA、PHP、Python等,不同编译器编译的执行文件不同,运行的平台也不尽相同。 解释性语言 — shell脚本语言是解释性语言 —...

2019-10-21 17:57:22

阅读数 8

评论数 0

原创 Linux _ 网络配置管理

一、网络配置基础 用户既可以通过命令行的方式,也可以通过友好的图形界面,轻松完成网络配置。 实现Linux网络配置的唯一目标就是修改系统中众多的网络配置文件,如 /etc/interfaces、/etc/hosts、/etc/resoly.conf等等。 通常,用户可能使用普通以太网、无线网...

2019-10-21 16:55:32

阅读数 18

评论数 0

原创 Linux _ 文件系统相关命令

一、file、mkdir、rmdir、ln命令 1、文件操作命令补充 pwd 、 ls 、 cd 、 touch 、 cp 、 mv 、 rm 、 cat 、 head 、 tail 2、file 在Linux文件系统中,文件扩展名不总是被使用或一致地使用。如果一个文件没有扩展名,或者文件...

2019-10-21 15:22:29

阅读数 15

评论数 0

原创 Linux _ 文件系统的类型和结构

一、Linux文件系统的类型 1、基础 再任何一个操作系统中,文件系统无疑是其最重要的组件,用于组织和管理计算机存储设备上的大量文件,并提供用户交互接口。Linux同样具有完善的文件系统。用户既可以使用界面友好的Nautilus图形文件管理器,也可以使用功能强大的shell文件系统管理工具。 ...

2019-10-18 16:57:57

阅读数 11

评论数 0

提示
确定要删除当前文章?
取消 删除