自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 普通局部变量、普通全局变量、静态局部变 量、静态全局变量的区别

普通局部变量:存在栈区、不初始化内容随机、只在定义所在的复合语句中有效、符合语句结束变量空间释放普通全局变量:存在全局区、不初始化内容为0、进程结束空间才被释放,能被当前源⽂件或其他源⽂件使⽤,只是其他源⽂件使⽤的时候,记得使⽤extern修饰静态局部变量:存在全局区、不初始化内容为0、整个进程结束空间才被释放,只能在定义所在的复合语句中有效静态全局变量:存在全局区、不初始化内容为0...

2020-03-24 21:15:15 751

原创 程序和进程的区别

程序:本质:⼆进制⽂件,可以运⾏,但还没有运⾏ 占⽤磁盘空间,不占⽤CPU 和内存(系统资源)进程:本质:正在执⾏的程序 占⽤CPU 和内存等更多的系统资源,⼀般不占⽤磁盘空间(I/O 操作可能会占⽤磁盘空间)站在程序员的⻆度:进程是⼀系列指令的执⾏过程站在操作系统的⻆度:进程是分配系统的资源的最⼩单位关系: ⼀个程序可以对应多个进程,但⼀个进程只能对应⼀个程序...

2020-03-23 21:46:59 177

原创 内联函数

内联函数本身是⼀个真正的函数内联函数具有普通函数的所有⾏为唯⼀不同之处在于:内联函数会在适当的地⽅像定义宏⼀样展开,可以以空间换时间。因此,内联函数既可以避免宏函数的缺陷,也可以避免普通函数⼊栈的时间浪费在普通函数函数前⾯加上 inline 关键字使之成为内联函数如果有函数声明,函数本身和声明必须同时加 inline 关键字,否则视为普通函数任何在“类”内部定义的函数会⾃动成为内联函数...

2020-03-20 20:10:12 108

原创 Lua语言

Lua特点:小巧脚本语言包括商业用途均开源免费目的是应用于灵活的嵌入式应用开发 纯C语言写成,可以与C/C++互相调用 高效、轻量级、跨平台、易移植、可扩展 支持面向过程、面向对象、封装、继承、复合数据结构表 应用于游戏开发、脚本编程、web应用、MySQL插件、系统安全等Lua基于ubuntu环境搭建流程:获取源码: http://www.lua.org/ftp/lua-5...

2020-03-18 22:13:55 109

原创 arm平台移植mosquitto(通过NFS)和使用

1.解压安装包,拷贝到根文件系统2.修改配置文件/etc/profile,然后进行测试3.执行mosquitt的代理器

2020-03-17 21:01:52 275

原创 指针和引⽤的区别

引⽤是给变量起别名,内部实现是指针常量(int* const ref = &a),其可以简单的理解为本体指针存放的是变量的地址引⽤的本质是指针常量,其指向不可修改,⽽指针可以改变指向引⽤创建的同时必须初始化,指针创建的时候可以不必初始化引⽤不能为空,指针可以为 NULL“引⽤变量 ref”的内存单元保存的是“被引⽤变量 a”的地址 sizeof(引⽤) = 指向变量的⼤⼩ siz...

2020-03-17 19:30:30 219

原创 STL的六⼤组件及关系

容器:各种数据结构,如vector、list、deque、set、map等,⽤来存放数据,从实现⻆度来看,STL容器是⼀种class template。算法:各种常⽤的算法,如sort、find、copy、for_each。从实现的⻆度来看,STL算法是⼀种function tempalte.迭代器:扮演了容器与算法之间的胶合剂,共有五种类型,从实现⻆度来看,迭代器是⼀种将operato...

2020-03-16 20:13:29 94

原创 mmap接口

应用层:所需头文件:#include <sys/mman.h> void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset); 功能:物理地址映射 参数: @addr NULL ,让内核选择一块可用的物理空间,进行映射 @length 映射的内存空间大小 @...

2020-03-14 19:02:31 314

原创 IP地址及分类

IP地址地址分为:物理地址(mac地址) 逻辑地址(IP地址)IP地址:识别网络中的不同主机 、32位 、由网络ID和主机ID两部分组成功能:网络ID:标识IP地址在哪个网段。 (也叫子网ID)主机ID:标识IP地址是哪一个主机。识别:网络 ID: IP 地址中由子网掩码中 1 覆盖的连续位主机 ID: IP 地址中由子网掩码中 0 覆盖的连续位分析:IP:10.0....

2020-03-13 19:09:16 287

原创 解决大小端对网络通信带来的问题

问题:如果主机A存储格式是按照小端格式存的,主机B按照大端格式取,这时就会出问题。通过主机以及网络字节序 解决大小端给通信带来的问题特点:1、网络协议指定了通讯字节序----大端2、只有在多字节数据处理时才需要考虑字节序3、运行在同一台计算机上的进程相互通信时,一般不用考虑字节序4、异构计算机之间通讯,需要转换自己的字节序为网络字节序在需要字节序转换的时候一般调用特定字节序转换函...

2020-03-12 19:47:50 780

原创 TFTP

一、概述应用层协议编程:通信协议 通信流程通信协议:指的的协议本身的格式(组怎样包)通信流程:通信的步骤(按照怎样的步骤进行首发数据)TFTP:简单文件传送协议 基于UDP特点:基于 UDP 协议实现不进行用户有效性认证数据传输模式:octet:二进制模式netascii:文本模式mail:已经不再支持二、TFTP通信流程TFTP通信过程总结:1、服务器在69号端口...

2020-03-11 19:17:10 4589

原创 字符设备驱动简化框架和misc杂项设备

一、字符设备驱动简化框架1.分配设备号2.分配cdev结构体3.初始化cdev结构体4.添加cdev到内核int register_chrdev(unsigned int major, const char *name,const struct file_operations *fops)功能:注册字符设备参数: @major 主设备号 @name ...

2020-03-10 19:44:12 136

原创 定时器

内核定时器:定时触发定时器中断,执行定时器中断处理函数头文件:<linux/timer.h>定时器数据类型:struct timer_list {unsigned long expires; //定时器计数时间值void (*function)(unsigned long); //定时器处理函数unsigned long data; //私...

2020-03-09 13:09:38 111

原创 sqlite3数据库的语句进阶

1. 函数和聚合SQL语句支持利用函数来处理数据,函数一般是在数据上执行的,它给数据的转换和处理提供了方便常用的文本处理函数:length()返回字符串的长度lower()将字符串转换为小写upper()将字符串转换为大写2. 常用的聚集函数使用聚集函数,用于检索数据,以便分析和生成报表avg()返回某列的平均值count()返回某列的行数max()返回某列的最大值min(...

2020-03-06 20:25:17 217

原创 sqlite3数据库的匹配语法(提高)和事务

in 操作符in 允许我们在 where 子句中规定多个值。匹配条件语法:where 列名 in (列值1, 列值2, …)

2020-03-05 22:03:55 1022

原创 网络的分层结构及TCP/UDP协议简介

网络的分层结构可以分为两种:七层模型和四层模型七层模型物理层不是指具体的物理设备 指的是物理设备的标准制定 (⽹线 光纤的接⼝类型 ⽹卡的电流强弱) ⽐特流数据链路层负责完整的帧数据收发 (帧数据可以独⽴在⽹络传输的数据) mac地址封装和解封装,交换器就⼯作在这⼀层⽹络层负责IP地址封装和解封装 逻辑主机的识别 路由器⼯作在这⼀层 数据包传输层负责的是协议端⼝...

2020-03-04 22:00:22 363

原创 sqlite3数据库的简单操作

sql语句的格式,以分号结尾sqlite3数据库数据类型支持1.整型 integer2.字符型/文本形式 text3.浮点型 real4.空类型 null表示空值打开数据库 sqlite3 *.db //如果数据库存在,则打开数据库,如果数据库不存在,则创建数据库退出数据库 sqlite>.exit sqlite>.quit...

2020-03-03 23:44:35 1638

原创 同步互斥机制及自旋锁、互斥体

一、同步互斥机制应用场景:多线程的时候线程和进程的区别:进程是拥有资源的最小单位,线程是参与调度的最小单位。执行单元:进程、线程、SMP(对称多处理器)资源:软件资源或者是硬件资源并发:多个执行单元同时被执行。竞态:多个执行单元同时被执行,处理的是同一个资源,就会导致竞态。临界区:对资源进程操作的代码区临界资源:可能会被多个执行单元同时访问并操作的资源导致竞态原因:...

2020-02-27 13:37:03 1365 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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