自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

兰天禄的博客

持续学习 不断成长

  • 博客(23)
  • 资源 (6)
  • 收藏
  • 关注

原创 音乐播放器mplayer的简单使用

mplayer1、mplayer的安装2、mplayer的键盘模式基本控制键:3、Slave模式:启动方法一:在终端下敲命令来启动mplayerMplayer 在slave模式下常用的命令:启动方法二:在进程中调用exec启动Mplayer程序。案例:父进程 控制 子进程的mplayer案例:获得mplayer的回应1、mplayer的安装sudo apt-get updatesudo ...

2020-04-29 20:20:24 14815 2

原创 Linux 多任务编程之线程

这里写目录标题1、线程概述进程是系统分配资源的基本单位。线程是CPU调度的基本单位。线程是轻量级的进程(LWP:light weight process)1、线程概述在许多经典的操作系统教科书中,总是把进程定义为程序的执行实例,它并不执行 什么,只是维护应用程序所需的各种资源,而线程则是真正的执行实体。 所以, 线程是轻量级的进程(LWP:lightweightprocess),在Linux环...

2020-04-29 14:06:39 395

原创 Linux 进程通信 -下 (信号)

信号1、信号的概述查看信号:kill -l每个信号必备4要素,分别是:未决信号集合 信号阻塞集2、信号的API2.1、 kill函数案例:2.2、raise函数 (自杀)2.3、abort函数2.4、alarm函数(闹钟)2.5、setitimer函数(定时器)3、修改信号的处理动作(了解)信号处理方式捕捉信号并且信号信号的处理方式有两个函数,signal 和sigaction1、signal函数...

2020-04-27 23:48:24 185

原创 Linux 进程通信 -上 (有无名管道,消息队列,mmap,共享内存)

进程间的通信14、进程间的通信方式(重要!!)15、无名管道(重要)案例:无名管道的特点:调用write函数向管道里写数据,当缓冲区已满时write也会阻塞设置为非阻塞: fcntl(fd, FSETFL, O_NONBLOCK);15、文件描述符复制 dup dup2案例1:我让标准输出文件描述符1 指向磁盘文件案例3:实现 ps -aux | grep bash(理解)16、dup217、...

2020-04-26 23:02:12 866

原创 Linux 多任务编程之进程

多任务编程1、进程的概述(了解)1.1、程序和进程的区别:1.2、并发和并行的区别:并行(parallel):并发(concurrency):总结:2、进程控制块PCB(了解)进程内存布局:32位平台 系统 会为每一个进程 分配4G空间3、进程的状态(了解)三态:就绪态、等待态、执行态 (以及状态转换)就绪态:执行条件都准备了 等待CPU的调用等待态:等待执行条件的满足执行态:cpu正在调度进...

2020-04-26 09:25:18 376

原创 Linux文件IO操作

文件操作1、系统调用概述2、系统调用 和 库函数的区别(重要!!!)3、文件描述符(重要!!!)案例:读取文件数据4、文件的打开读写关闭4.1、打开文件open4.1.1、flags宏的介绍(打开方式)4.1.2、mode的介绍(权限)4.2、关闭文件close案例:4.3、文件的写操作write4.4、read读取文件数据案例:读文件数据案例:实现cp命令: cp src_file ds...

2020-04-21 21:29:37 2513

原创 shell脚本语言(超全超详细)

shell脚本语言1、shell的概述2、脚本的调用形式打开终端时系统自动调用:/etc/profile 或 ~/.bashrc3、shell语法初识3.1、定义以开头:#!/bin/bash3.2、单个"#"号代表注释当前行第一步:编写脚本文件第二步:加上可执行权限第三步:运行三种执行方式 (./xxx.sh bash xxx.sh . xxx.sh)./xxx.sh......

2020-04-20 22:26:20 340725 50

原创 Qt的绘图系统(画家,绘图工具,绘图设备)

Qt的绘图系统绘图概念案例:画一个背景图(画家的方法)案例:通过update()重新加载绘图事件2、画家的其他绘制函数1、划线drawLine2、画矩形3、画圆3、绘图设备案例1:QBitmap案例2:image的像素操作案例:重现绘图指令QPicture绘图概念图系统基于QPainter,QPainterDevice和QPaintEngine三个类QPainter(画家) 使用QPain...

2020-04-19 09:42:29 2116

原创 Qt中三种定时器的触发方式

定时器QTimer控件定时器触发方式3种所需api资料1、定时器事件 触发案例1:定时器事件案例2:同时启动多个定时器2、定时器对象 触发案例3:通过定时器对象 定时3、静态成员函数 触发案例4:通过静态成员函数singleShot 实现延时的功能定时器触发方式3种所需api资料启动器定时器:1、定时器事件 触发案例1:定时器事件在widget.h中声明在widget.c...

2020-04-17 21:24:05 10495 2

原创 Qt事件(Event)

事件Event1、事件的概述2、通过QLabel了解事件的操作3、重写事件:4、重写鼠标按下事件:5、获取鼠标按下或移动的坐标6、查看的QMouseEvent的信息7、判断button的返回值:8、判断鼠标的哪个按键按下9、判断鼠标的坐标10、鼠标跟踪:(用户 不用按下鼠标 也可以获得鼠标移动位置)11、只需要在MyLabel的构造函数中设置一下就行:事件分发器概述:1、案例:在事件分发器中 处理...

2020-04-17 21:07:56 9039 3

原创 Qt中常用的控件详细介绍

这里写目录标题1、容器的布局系统提供的布局控件利用 widget 做布局2、QListWidget(列表控件)3、QTreeWidget(树控件)4、QTableWidget(表格控件)1、容器的布局Qt 提供的布局中以下三种是我们最常用的:QHBoxLayout:按照水平方向从左到右布局;QVBoxLayout:按照竖直方向从上到下布局;QGridLayout:在一个网格中进行布局,...

2020-04-17 19:49:07 30039 2

原创 Qt设置自定义控件

自定义控件1、定义一个自定义控件2、给自己的ui文件 添加常用控件3、在其他ui文件中使用 自定义控件MyWidget4、改变spinbox的值 进度条移动5、拖动 slider 更改spinbox不是让你创造一个全新的控件 使用已有控件 拼出一个新的控件1、定义一个自定义控件2、给自己的ui文件 添加常用控件添加自己需要的控件3、在其他ui文件中使用 自定义控件MyWi...

2020-04-17 10:32:17 3535

原创 Qt中常用到的几种对话框

对话框QDialog1、对话框的分类2、消息对话框QMessageBox错误提示框:信息提示框:询问对话框:修改按钮:yes-->Save No--->Cancel更改默认选择项获取用户的输入:3、字体对话框QFontDialog4、颜色对话框QColorDialog5、文件对话框QFileDialog1、对话框的分类模态对话框:带阻塞(弹出模态对话框就不能进行其他操作了)...

2020-04-09 19:29:32 984

原创 Qt中怎么添加资源文件

添加资源文件1、将资源放入 工程中(建议)2、添加资源文件3、为资源文件 添加资源案例:给菜单项添加图标1、将资源放入 工程中(建议)2、添加资源文件3、为资源文件 添加资源前缀随便写尽量简单以便后面使用选择所需要的资源注意:需要点击一下构建,等待右下角进度条走完如果需要重新添加资源文件;案例:给菜单项添加图标查找相关函数api...

2020-04-09 19:14:17 934

原创 Qt手动添加各种部件(新手必看)

1、添加菜单栏第一步、创建QMainWindow(不创建界面)第二步、在帮助文件中查找,创建菜单栏的函数第三步、添加菜单栏第四步、在菜单栏添加菜单第五步、给菜单里面添加菜单项第六步、给菜单添加快捷键第七步、 让快捷键动起来第八步、 插入一个分割线2、添加工具栏第一步、查找关于添加工具栏的相关函数第二步、将菜单项放入工具栏中设置工具栏是否浮动 true浮动 false不浮动设置工具栏 允许的位置允许停靠的具体的区域参数:第三步、设置工具栏只允许左右停靠3、添加状态栏第一步、查

2020-04-07 21:29:03 2990

原创 信号槽机制和自定义信号和槽

信号和槽信号槽和机制情景带人:建立:信号和槽函数的关系使用connect案例:自定义信号和槽(了解)注意:1、定义信号的规则:在signals下方返回值类型为void 只需声明 不用实现 可以有参数 可以重载2、定义槽函数的规则:public slots:返回值类型为void 需要声明 需要实现 可以有参数 可以重载3、用户可以使用emit 发出信号案例:总结:1、一个信号可以和多个槽相...

2020-04-04 18:12:59 860

原创 C++中STL常用算法

STL的常用算法1、常用的遍历算法1、for_each:遍历容器元素2、transform算法 将指定容器区间元素搬运到另一容器中2、常用的查找算法2.1、find算法 查找元素2、find_if条件查找2.3、adjacent_find算法 查找相邻重复元素2.4、binary_search算法 二分查找法(容器必须有序)2.5、count算法 统计元素出现次数2.6、count_if算法 统计...

2020-04-02 21:40:31 1262

原创 STL(什么是函数适配器)

函数适配器函数适配器: 扩展函数的参数接口(假如函数有一个参数 再扩展一个接口 据可以传递两个参数)函数适配器案例案例:bind2nd 或bind1st区别bind2nd:讲外界数据 绑定到第二个参数bind1st:讲外界数据 绑定到第一个参数取反适配器(not1一元取反)not1一元取反not2二元取反注意:binary_function 二元继承unary_function 一元继承案例2...

2020-04-02 19:36:58 662

原创 STL中的内建函数对象(一看就懂)

什么是内建函数对象答: STL提供的仿函数STL内建了一些函数对象。分为:算数类函数对象,关系运算类函数对象,逻辑运算 类仿函数。这些仿函数所产生的对象,用法和一般函数完全相同,当然我们还可以 产生无名的临时对象来履行函数功能。使用内建函数对象,需要引入头文件

2020-04-01 23:35:50 511

原创 STL(什么叫谓词)

返回值类型为bool的普通函数或仿函数 就叫谓词。如果普通函数或仿函数 有一个参数 就叫一元谓词。如果普通函数或仿函数 有二个参数 就叫二元谓词。谓词是指普通函数或重载的operator()返回值是bool类型的函数对象(仿函数)。如 果operator接受一个参数,那么叫做一元谓词,如果接受两个参数,那么叫做二元 谓词,谓词可作为一个判断式。

2020-04-01 21:06:03 331

原创 STL(标准模板库) 各种容器的使用时机

STL 容器使用时机vector的使用场景:deque的使用场景:vector与deque的比较:list的使用场景:set的使用场景:map的使用场景:vector的使用场景:比如软件历史操作记录的存储,我们经常要查看历史记录,比 如上一次的记录,上上次的记录,但却不会去删除记录,因为记录是事实的描 述。deque的使用场景:比如排队购票系统,对排队者的存储可以采用deque, 支持头...

2020-04-01 20:33:55 300

原创 STL(标准模板库)-map容器

map与multimap容器map容器的特点:1、所有元素都会根据元素的键值自动排序2、所有的元素都是pair,同时拥有键值和实值。第一个参数:键值 第二个参数:实值3、map容器的键值唯一不可变 实值 可变。map容器的API案例1:map容器的插入、遍历案例2:map和vector容器配合使用(重要)multimap容器Multimap和map的操作类似,唯一区别multimap键值可...

2020-04-01 20:05:29 340

原创 STL(标准模板库)-set容器

所有元素都会根据元素的键值自动被排序。set的元素即是键值又是实值。set容器的键值 不允许相同。set容器提供的是只读迭代器(不允许用户修改元素的内容)

2020-04-01 00:09:33 373

零死角玩转stm32.zip

非常详细易懂的方式全面的讲解了STM32的各种资源功能(野火STM32)

2021-02-08

Linux内核移植.zip

linux内核发行的一bai般都是通用版本,代du码可以兼容很多的硬件平台,因为内核zhi代码中包含大部分硬件平台的dao驱动程序, 用户可以自己定制内核包含哪些设备的驱动,就像开关一样,可以打开/关闭一些编译选项来支持不同的硬件平台。 内核移植就是根据你自己选择的硬件平台来重新编译内核支持对应的硬件,使之可以在该硬件平台上运行,如果 缺少相应的硬件驱动程序或其他内核模块,可以自己进行相应的开发加入到内核中一起编译最终实现对硬件的支持。

2020-07-28

Bootloader应用分析+移植相关资料.zip

只是由于uboot本身是针对多种平台的bootloader,软件的复杂性和通用型决定了编译uboot需要自行填补很多坑。 U-Boot,全称Universal Boot Loader,是遵循GPL条款的开放源码项目。从FADSROM、8xxROM、PPCBOOT逐步发展演化而来。 我整理的关于u-boot的一些相关资料

2020-07-25

arm-linux-gcc-4.3.2.bz2

我们需要编译出运行在ARM平台上的代码,所使用的交叉编译器为 arm-linux-gcc 在此之前首先介绍下编译器的工作过程,在使用GCC编译程序时,编译过程分为四个阶段: 1. 预处理(Pre-Processing) 2. 编译(Compiling) 3. 汇编(Assembling) 4. 链接(Linking)

2020-06-29

tftpd32.exe

Tftpd32是一款专业高效的网络服务器包,包括DHCP服务器提供无限的自动或静态IP地址分配,同时Tftpd32提供TFTP客户端应用,支持tsize, blocksize 和 timeout等等。此外Tftpd32还有一些扩展功能,如目录设施,安全优化,界面过滤等。

2020-06-27

文件加密练习.zip

能读懂这一个程序就基本会程序操作了 C程序把文件分为ASCII文件和二进制文件,ASCII文件又称文本文件,二进制文件和文本文件(也称ASCII码文件)二进制文件中,数值型数据是以二进制形式存储的, 而在文本文件中,则是将数值型数据的每一位数字作为一个字符以其ASCII码的形式存储,因此,文本文件中的每一位数字都单独占用一个字节的存储空间,

2020-03-05

空空如也

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

TA关注的人

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