自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

业精于勤

  • 博客(60)
  • 资源 (1)
  • 收藏
  • 关注

转载 IGMP技术总结

目录1.IGMP简介1.1IGMP的版本2. IGMPv1工作机制3. IGMPv2的改进3.1 查询器选举机制3.2离开组机制4. IGMPv3的改进4.1 主机控制能力的增强4.2 查询和报告报文功能的增强1.IGMP简介 IGMP是Internet Group Management Protocol(...

2020-03-26 17:00:24 884 1

转载 linux进程控制 exec系统调用

linux进程控制-exec系列 说是exec系统调用,实际上在Linux中,并不存在一个exec()的函数形式,exec指的是一组函数,一共有6个,分别是:#include <unistd.h>int execl(const char *path, const char *arg, ...);int execlp(const char *file, const ch...

2019-12-10 20:28:55 687

转载 linux下动态库和静态库生成

有时候需要把一组代码编译成一个库,这个库在很多项目中都要用到,例如libc就是这样一个库, 我们在不同的程序中都会用到libc中的库函数(例如printf),也会用到libc中的变量(例如以后 要讲到的environ变量)。本文将介绍怎么创建这样一个库。这些文件的目录结构是:$ tree.|-- main.c`-- stack|-- is_empty.c|-- pop.c|--...

2019-10-21 20:51:24 257

原创 linux基本命令tail

tail命令使用用途:输出文件的最后部分tail格式: tail [option]... [file] ...[option]: -c, --bytes=k: 输出最后kByte字节, 或者使用-c+k 输出从第kByte开始的字节 -f,--follow[={name|descriptor}]: -F: 循环读取 -n, --lines=k: 输出最...

2019-04-13 07:36:40 348

原创 linux基本命令echo

echo命令使用用途:输出一行文本echo格式: echo [SHORT-OPTION]... [STRING] ... echo LONG-OPTION[option]: -n: 不输出尾部换行符 -e: 启用反斜线转义解释 -E: 不启用转义解释(default) 使用-e后: \\: 反斜杠 \a: ...

2019-04-13 07:36:22 308

原创 linux基本命令tar

tar命令使用用途:进行文件的压缩和解压tar格式: tar [OPTION]... [FILE] ...[option]:主操作模式: -A, --catenate, --concatenate: 新增文件到已存在的归档文件 -c,--create: 创建一个新的存档 -d, --diff, --compare: 查找存档和文件系统之间的不同 --delet...

2019-04-13 07:36:08 215

原创 linux基本命令head

head命令使用用途:输出文件的开始部分head格式: head [option] ... [file] ...[option]: -c, --bytes=[-]k: 输出文件的开头kByte字节,如果以-开头,输出文件除了最后kByte 以外的其他字节。 -n, --lines=[-]k: 打印文件的前k行,加上-打印除了最后k行的所有内容。 -q, ...

2019-04-12 22:22:36 291

原创 linux基本命令less

less命令使用用途:文件过滤分页显示到屏幕less格式: less [option] [file] ...[option]: -bn,--buffer=n: 设置缓冲区大小 n表示缓冲区的大小(单位1024Byte) 默认64k, -1表示没有限制 -c, --clear-screen: 全屏重绘 而不是滚动显示 -e, --quit-at-eof: 文末自动退出(...

2019-04-12 22:21:42 209

原创 linux基本命令more

用途:文件过滤分页显示到屏幕more格式: more [option] [file] ...[option]: -number: 显示的行数 -d: 提示使用者,在画面下方显示 [Press space to continue, 'q' to quit.] ,如果使用者按错键,则会显示 [Press 'h' for instructions.] 而不是 '哔' 声 ...

2019-04-12 22:20:49 268

原创 linux基本命令cat

cat命令使用用途:连接文件并打印到标准输出cat格式: cat [option] ... [file] ...[option]: -A, -show-all: 等价于-VET -b, -number-no: 和-n类似,只是不对空白行编号 -e: 等价于-VE -E, --show-ends: 在每行结尾显示$符号 -n, --number: 对每行从...

2019-04-12 22:19:50 2013

原创 linux基本命令rm

rm命令使用用途:移除文件或者路径rm格式: rm [option] ... file ...[option]: -f, --force: 忽略不存在的文件和参数 而不进行任何提示 -i: 移除任何文件前给出提示 -I: 在删除超过三个文件或者递归删除时给出一次提示, 而不是像-i每一次都提示 --interactive[=WHEN]: 根据WHEN给出提示: ...

2019-04-12 22:18:34 171

原创 linux基本命令mv

mv命令使用用途:移动或者重命名文件mv格式: mv [option] ... [-T] source dest mv [option] ... source ... directory mv [option] ... -t directory source ...[option]: --backup[=CONTROL]: 为每一个存在的目标文件创建备份...

2019-04-12 22:16:43 115

原创 linux基本命令cp

cp命令使用用途:拷贝文件或者目录cp格式: cp [option] ... [-T] SOURCE DEST cp [option] ... SOURCE ... DIRECTORY cp [option] ... -t DIRECTORY SOURCE ...[option]: -a: 【---暂未知---】 --attributes...

2019-04-12 22:15:04 227

原创 linux基本命令ls

ls命令使用用途:显示指定目录的内容ls格式: ls [option] ... [FILE] ...[option]: -a, --all:显示所有文件,包括.(及隐藏文件) -A, --almost-all:显示所有文件包括隐藏文件(除了当前文件索引. 和上一个文件索引..) --author: 配合-l,打印每一个文件的作者信息 -b, --escape...

2019-04-12 22:13:47 127

原创 linux基本命令mkdir

mkdir命令使用用途:创建目录mkdir格式: mkdir [option] directory[option]: -m: 创建文件的同时指定文件权限 -p: 如果父目录不存在将创建父目录 -v: 创建文件的时候同时打印一条信息 -z: 【----暂不知道何用途----】使用举例:-m: 1、创建目录tmp并指定为文件拥有者可读写、组用户和组...

2019-04-12 22:12:11 833

原创 LWIP之Mem原理分析

前言:前一章我们讨论了内存池的分配和回收的一些内幕,这一节我们将来讨论一下lwip的mem内存堆机制,那有的人就很好奇,既然有了内存池的管理机制了,为什么还要多此一举搞个内存堆管理呢?二者有什么区别,又或者各有什么优缺点呢? 这些疑惑将在这一节揭晓。1、memp相关宏以及变量的解释【1】宏定义解释1、MEM_USE_POOLS //使用内存池分配内存堆 2、M...

2019-04-12 21:52:56 2793 2

原创 LWIP之Memp原理

前言 在这个色彩缤纷的时代,网络扮演着重要的角色,作为网络通讯的主要协议,TCP/IP协议就变得非常的重要,对于嵌入式系统来说,处理能力以及内存上的瓶颈导致嵌入式TCP/IP协议栈不可能像PC上的协议栈那么强大,而LWIP作为一个小型的开源免费的TCP/IP协议栈,以简洁,高效,占用内存少被广泛的使用在各类嵌入式网络应用中,本文就是基于LWIP的内存角度开展的。正文 ...

2019-04-12 21:30:51 3148

转载 Linux Makefile 生成 *.d 依赖文件及 gcc -M -MF -MP 等相关选项说明

1. 为什么要使用后缀名为 .d 的依赖文件?在 Makefile 中, 我们的依赖关系可能需要包含一系列的头文件。比如main.c 源文件内容如下:#include "stdio.h"#include "defs.h"int main(int argc, char *argv[]){ printf("Hello, %s!\n", NAME); return 0;} ...

2019-03-05 22:15:39 2377

转载 Linux 的文件与目录(软连接和硬连接)

 现代操作系统为解决信息能独立于进程之外被长期存储引入了文件,文件作为进程创建信息的逻辑单元可被多个进程并发使用。在 UNIX 系统中,操作系统为磁盘上的文本与图像、鼠标与键盘等输入设备及网络交互等 I/O 操作设计了一组通用 API,使他们被处理时均可统一使用字节流方式。换言之,UNIX 系统中除进程之外的一切皆是文件,而 Linux 保持了这一特性。为了便于文件的管理,Linux 还引入了...

2018-11-18 15:05:46 12238

转载 对Linux文件权限的理解

 755,775,777,ugoa 等分别代表什么含义?这些数字是如何得到的?1.常用的linux文件权限:444 -r--r--r--600 -rw-------644 -rw-r--r--666 -rw-rw-rw-700 -rwx------744 -rwxr--r--755 -rwxr-xr-x777 -rwxrwxrwx注:使用ll命令查看文件/文件夹属性...

2018-11-14 16:46:15 284

原创 UCOSII学习之路1 - 任务创建、删除、挂起、解挂

前言今天看到一年前关于UCOSII的相关博文,原计划是发表整个系列的,但是由于各种原因+作者比较懒,一直拉下了,但是一部分已经完成了初稿,就此发表吧!谬误之处敬请原谅。也提醒自己,做事一定要有始有终。 正文           统计任务:用于每秒计算一次CPU单位时间内被使用的时间,并把结果以百分比的形式存放在变量OSCPUsage中。           用户使用统计任务配置:O...

2018-09-16 10:36:16 1356

原创 探索#和##的用法已经限制

华丽的开头:在一些开源的软件中经常出现#和##得用法, 因此搞清楚其语意就变得很重要,尤其是一些C语言功底并不是那么扎实的童鞋来说(比如我)。其实#和##的作用可以统一用一句话来概括,"使得变量的组织和运用变得更加灵活", 有些读者可能刚开始无法理解,没关系,通过本文,相信您对#和##一定有一个深入的认识。好了,进入正题。 #的用法解释:一般#是将右侧宏参数格式化为一个字符串实...

2018-09-12 22:49:09 230

转载 Qt使用多线程的一些心得——1.继承QThread的多线程使用方法

本文转载自http://blog.csdn.net/czyt1988/article/details/64441443摘要Qt多线程方法1 继承QThread1写一个继承于QThread的线程2 QThread的几个函数quitexitterminate函数3 正确的终止一个线程4 如何正确启动一个线程41正确的启动一个全局线程和UI一直存在的线

2018-01-29 12:08:18 264

转载 .bss段和.data段数据分析

BSS段:BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配。 数据段:数据段(data segment)通常是指用来存放程序中已初始化的全局变量的一块内存区域。数据段属于静态内存分配。 代码段:代码段(code segment/text segment)通常是指用

2018-01-19 10:54:37 22620 1

转载 基于MDK工程设置的相关项

弄了一个月的arm,终于在英倍特的arm开发箱上把led灯给点亮了,在keil环境下,基于J-LINK仿真器。主要问题是出在对存储器的配置上,还是经老师点拨才醒悟的。当然其中还涉及到工程的配置问题,以及arm的启动过程。 下面把自己对工程配置的理解说明如下。 进入工程有如下界面。 Device选项就是选择器件的,没啥东西,选配套的芯片就行。 现在是Target这个选项卡了。挑重要的讲。

2018-01-18 13:25:04 969

转载 Keil sct分散加载文件

首先介绍几个概念:1.ARM映像文件ARM映像文件是一个层次性结构的文件,其中包含了域(region)、输出段(output section)和输入段(input section)。各部分关系如下:一个映像文件由一个或多个域组成每个域包含一个或多个输出段每个输出段包含一个或多个输入段各输入段包含了目标文件中的代码和数据输入段中包含了4类内容:代码、已经初始化的数据、

2018-01-16 22:07:12 346

转载 二维码的生成细节和原理

二维码又称 QR Code,QR 全称 Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的 Bar Code 条形码能存更多的信息,也能表示更多的数据类型:比如:字符,数字,日文,中文等等。这两天学习了一下二维码图片生成的相关细节,觉得这个玩意就是一个密码算法,在此写一这篇文章 ,揭露一下。供好学的人一同学习之。  关于 QR Code Specific

2017-10-26 11:25:19 677

转载 QPushButton下拉式菜单(是否取消下拉三角,是否check)

转自:http://blog.csdn.net/u011417605/article/details/51218493给QPushButton添加菜单的示例,前面已经有了三种方式:Qt学习之给QPushButton添加菜单ActionsContextMenu方法Qt学习之给QPushButton添加菜单CustomContextMenu方法

2017-10-17 21:29:19 894 1

转载 【C++专题】static_cast, dynamic_cast, const_cast探讨

本博文转自: http://www.cnblogs.com/chio/archive/2007/07/18/822389.html首先回顾一下C++类型转换:C++类型转换分为:隐式类型转换和显式类型转换第1部分. 隐式类型转换又称为“标准转换”,包括以下几种情况:1) 算术转换(Arithmetic conversion) : 在混合类

2017-10-12 22:36:56 173

转载 信号与槽的新语法(Qt5)

在 Qt5 的 qtbase-staging 代码仓库的 qobject_connect_ptr 分支中已经引入了一种全新的信号与槽的语法。参看 New Signal Slot Syntax Possibly Coming in Qt 5 一文。新老语法如果我们将一个QSlider对象的valueChanged信号链接到一个QSpinBox对象的setValue槽,使用

2017-10-12 22:26:04 272

转载 快速排序算法

目录冒泡排序  鸡尾酒排序  选择排序插入排序二分插入排序  希尔排序  归并排序堆排序快速排序   我们通常所说的排序算法往往指的是内部排序算法,即数据记录在内存中进行排序。  排序算法大体可分为两种:    一种是比较排序,时间复杂度O(nlogn) ~ O(n^2),主要有:冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排

2017-08-22 19:27:46 546

转载 QT中文乱码

首先呢,声明一下,QString 是不存在中文支持问题的,很多人遇到问题,并不是本身 QString 的问题,而是没有将自己希望的字符串正确赋给QString。很简单的问题,"我是中文"这样写的时候,它是传统的 char 类型的窄字符串,我们需要的只不过是通过某种方式告诉QString 这四个汉字采用的那种编码。而问题一般都出在很多用户对自己当前的编码没太多概念,于是一

2017-07-22 18:05:25 230

原创 UCOSII学习之路3 -任务同步之互斥

上一节我们引入了信号量的概念,这一讲我们将揭晓互斥信号量的奥秘。 互斥信号量和信号量虽然都带了信号量的帽子,但是二者却有着不同的运用场合,互斥信号量相比而言经常用于一些资源的互斥访问,比如打印机、厕所等,这里的厕所指的是单厕,哈哈哈。这样有的人就要问了,那信号量设置起始cnt为1不也可以实现资源的互斥访问吗,这样的话我们直接使用信号量的实现不就可以了吗?答案当然是否认的,作为OS的开发者,

2017-07-15 10:56:21 4760

原创 UCOSII学习之路2 任务同步之信号量的使用

引用任哲书上的一句话解释什么是信号量最合适不过,应用程序中的各个人物,必须通过彼此之间的有效合作,才能完成一项大规模的工作,因为这些任务在运行的时候,经常需要无冲突的访问同一个共享资源,或者需要互相支持和依赖,甚至有时还要相互制约才能保证任务的顺利运行,因此操作系统必须具有对任务运行进行协调的能力,从而使任务无冲突、流畅的同步运行,这就是为什么我们要使用任务间同步机制。谈到任务的同步,UCOS

2017-07-01 21:01:39 2702

转载 c的多参设计原理

1 C语言中函数调用的原理函数是大多数编程语言都实现的编程要素,调用函数的实现原理就是:执行跳转+参数传递。对于执行跳转,所有的CPU都直接提供跳转指令;对于参数传递,CPU会提供多种方式,最常见的方式就是利用栈来传递参数。C语言标准实现了函数调用,但是却没有限定实现细节,不同的C编译器厂商可以根据底层硬件环境自行确定实现方式。函数调用的一般实现原理,请参考我的博文C语言中利用setjm...

2017-04-09 22:09:16 297

转载 CRC16

一. CRC16算法首先在源文件头文件加入表值:[cpp] view plain copy print?//////////////////////////////////////////////////////////////////////////    // CRC16码表    staticWORDconst wCRC16Ta

2017-03-14 12:47:39 475

原创 realloc、malloc、以及calloc函数的区别

对于这个说烂的问题 ,做一点感悟笔记。三者都是分配内存,都是stdlib.h库里的函数,但是也存在一些细微的差异。首先,对于malloc函数。其原型void *malloc(unsigned int num_bytes)num_byte为要申请的空间大小,需要我们手动的去计算,如int *p = (int *)malloc(20*sizeof(int)),如果编译器默认int为4字

2016-11-11 11:19:56 12434 6

原创 struct成员的内存对齐问题:

1、自然对齐:及默认结构体变量成员中最大的长度设置为对齐字节如:struct node{ char a; int b; short c;};默认以最大长度int类型4字节对齐。此时占用内存为12byte2、指定对齐及#pragma pack(n)  设置以n字节对齐 超出n字节长度默认以超出字节长度对齐#pragma pa

2016-11-10 11:59:19 2894

转载 SD卡引脚定义

SD卡和TF卡 接口引脚定义:接口引脚定义" title="SD卡和TF卡 接口引脚定义" style="margin:0px; padding:0px; border:0px; list-style:none">接口引脚定义" title="SD卡和TF卡 接口引脚定义" style="margin:0px; padding:0px; border:0px; list-style:n

2016-10-10 09:43:49 4930

转载 LCD控制器与帧率、刷新率的关系分析

1、LCD控制器  1) 显示控制器主要负责从内存中或者FIFO通道中获取图像/视频数据,以一定的方式叠加、混合,将最终的图像送出到外部液晶显示器去显示,并具有0、1、2层的FIFO输入接口及一个外部FIFO输出接口。  2) 什么是LCD控制器  LCD控制器同LCD驱动器是有着本质区别的。简单来说LCD控制器在嵌入式系统中的功能如同显卡在计算机中所起到的作用。LCD控制

2016-10-01 11:25:44 12043

空空如也

空空如也

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

TA关注的人

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