自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 可/不可剥夺内核 可/不可重入函数

不可剥夺型内核 (Non-Preemptive Kernel)不可剥夺型内核要求每个任务自我放弃CPU的所有权。不可剥夺型调度法也称作合作型多任务,各个任务彼此合作共享一个CPU。异步事件还是由中断服务来处理。中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。但中断服务以后控制权还是回到原来被中断了的那个任务,直到该任务主动放弃CPU的使用权时,那个高优先级的任务才能获得CPU的使用权。...

2019-01-29 20:44:28 564

原创 STM32之DMA

DMA,全称为:直接存储器访问,即直接存储器访问,DMA传输将数据从一个地址空间复制到另外一个地址空间。当CPU初始化这个传输动作,传输动作本身是由DMA控制器来实行和完成。例子的就是移动一个外部内存的区块到芯片内部更快的内存区。像是这样的操作并没有让处理器工作拖延,可以反而被重新排程去处理其他的工动词}。DMA传输对于高效能DMA传输方式无需CPU直接控制传输,也没有中断处理方式那样保留现场和恢...

2019-01-12 15:00:29 1067

转载 Google 搜索时可以使用的便捷技巧

1、准确搜索(双引号)最简单、有效的准确搜索方式是在关键词上加上双引号,在这种情况下,搜索引擎只会反馈和关键词完全吻合的搜索结果。比方说在搜索「Joe Bloggs」的时候,在没有给关键词加上双引号的情况,搜索引擎会显示所有分别和「Joe」以及「Bloggs」相关的信息,但这些显然并不是我们想要的结果。但在加上双引号后,搜索引擎则仅会在页面上反馈和「Joe Bloggs」相吻合的信息。...

2019-01-12 14:45:28 320

转载 一个进程最多创建多少个线程

最近,在做一个关于聊天服务器的项目,其中遇到了一个问题,那就是一个进程可以产生多少个线程呢?开始各种想象,会和不同平台,不同系统相关,网上很多大佬说是1024个,也有256个。与其无端猜测,不如动手测试一下。在Linux32位平台,进行测试。 1 #include <stdio.h> 2 #include <unistd.h> 3 #include ...

2018-10-10 23:02:38 7070

原创 C语言实现mystrcpy等函数

 mystrcpy#include <stdio.h>#include <stdlib.h> char *mystrcpy(char *ptr, const char *str){ char *tmp = ptr; while((*ptr++ = *str++) != '\n') { continue; }...

2018-10-03 13:07:42 3472

原创 关于创建用户脚本的一些小问题

“引用”一个命令的执行结果,要使用命令引用;比如: RESAULTS=`wc -l /etc/passwd | cut -d: -f1`;使用一个命令的执行状态结果,要直接执行此命令,一定不能引用;比如: if id user1一句中的id命令就一定不能加引号;如果想把一个命令的执行结果赋值给某变量,要使用命令引用,比如USERID=`id -u user1`;如果想把一个命令的执行状态结果...

2018-10-02 18:09:36 240

原创 文件查找命令——find

之前学过的grep,egrep,sed都是文本查找的相关命令,用来查找字符串的。现在学习一下关于文件查找的命令。文件查找:locate:非实时的,模糊匹配,查找是根据全系统文件数据库进行的;系统的数据库每天都会更新;updatedb命令, 手动生成文件数据库;优势是速度快,了解一下就可以了,文件查找主要使用find命令。 find: 实时,精确,支持众多查找标准; 通过遍历指...

2018-10-02 18:09:31 2919

原创 Linux管道和重定义

计算机的组成有:运算器,控制器,存储器,输入输出设备。于是就有了地址总线,数据总线,控制总线。事实上在机器里面总线是复用的,一个总线三种功能。地址总线:内存寻址数据总线:传输数据控制总结:控制指令寄存器:CPU暂时存储器程序在运行时要从输入设备获取指令,通过输出设备输出作为人机交互。那么系统在什么地方获取输入输出键盘鼠标硬盘还是哪里?那么系统就需要设定默认的输入输出。系统设定...

2018-10-01 23:06:36 283

原创 Linux bash的配置

站在用户登录的角度来说,SHELL的类型:登录式shell:正常通常某终端登录su - USERNAME (完全切换)su -l USERNAME非登录式shell:su USERNAME (半切换)图形终端下打开命令窗口自动执行的shell脚本由于你在用户中设置了某些配置后,如果你再次登陆的话,有些配置会还原到一开始的默认配置。那么这个时候就需要来配置bash来设定属于你自...

2018-10-01 23:05:55 1029

原创 Linux用户权限

权限:r, w, x文件:r:可读,可以使用类似cat等命令查看文件内容;w:可写,可以编辑或删除此文件;x: 可执行,eXacutable,可以命令提示符下当作命令提交给内核运行;目录:r: 可以对此目录执行ls以列出内部的所有文件;w: 可以在此目录创建文件;x: 可以使用cd切换进此目录,也可以使用ls -l查看内部文件的详细信息;(一般目录都要有执行权限)rwx: ...

2018-10-01 23:03:01 754

原创 Linux文件目录标准

文件系统(内核的主要功能之一)Linux文件系统是一个倒过来的树状结构,通过层次性的方式来管理组织系统上的文件,最顶层叫做根相当于“ / ”。rootfs:根文件系统文件系统层级标准FHS(Filesystem Hierarchy Standard):Linux标准委员会规定了根文件目录标准 /boot:系统启动相关文件,如内核、initrd,以及grub(boot loader)...

2018-10-01 23:01:24 247

原创 Linux常规命令与文件管理命令

prompt:命令提示符:命令:magic number:魔数目录:文件,路径映射路径:从指定起始点岛目的地所经过的位置文件系统:file system目录:working directory,current directory命令格式命令提示符(#) 命令 选项 参数 #command options... arguments... 选项(修改命令的执行特性):短选...

2018-10-01 23:00:45 200

原创 基于树莓派的局域网即时通信系统

1.在PC机上通过读卡器读SD卡,通过软件“SD Card Formatter”清空读卡器2.通过“win32DiskImager”将在官网上下载好的.img映像文件写到SD卡中。此时SD卡会多一个boot的移动盘,不要格式化!这样SD卡系统就装好了3.将SD卡插到树莓派上,通电开机。4.网上有很多方式连接树莓派,有的需要HDMI接口连显示器,这里我没有。我是通过网线和虚拟终端实现的...

2018-09-30 22:17:56 3204

原创 嵌入式音乐播放器

通过madplay命令进行歌曲播放,功能有:1、实现音乐的开始播放、结束播放、继续播放、暂停播放;2、实现歌曲上一首、下一首切换;3、实现歌曲播放模式的选择(顺序播放、随机播放、单曲循环);4、实现音量调节(有上限和下限);通过两个程序控制这个音乐播放器客户端用来发一些请求就可以了。服务器端:至少创建三个进程,父进程,子进程阻塞,等待回收孙进程,孙进程负责播放音乐。父进程:用于监...

2018-09-27 19:26:30 7009

原创 C/C++计算器(栈的应用)

实现一个计算器涉及到了前缀表达式转后缀表达式。分别定义两个栈,一个存数字,一个存操作符。 C++ 版本#include "iostream"#include <stack>using namespace std;int Priority(char ch){    switch(ch)    {        case '(':           ...

2018-09-23 12:02:57 2351 5

原创 基于树莓派的即时通讯系统

1.在PC机上通过读卡器读SD卡,通过软件“SD Card Formatter”清空读卡器2.通过“win32DiskImager”将在树莓派官网上下载好的.img映像文件写到SD卡中。此时SD卡会多一个boot的移动盘,不要格式化!这样SD卡系统就装好了3.将SD卡插到树莓派上,通电开机。4.网上有很多方式连接树莓派,有的需要HDMI接口连显示器,这里我没有。我是通过网线和虚拟终端实现的与...

2018-09-18 12:55:18 1737

原创 系统编程——文件I/O操作相关API

文件I/O操作相关API1.打开一个文件open(),既能打开已存在的文件,也能创建打开一个新文件函数原型:#include <sys/stat.h>#include <fcntl.h>int open(const char *pathname, int flags, .../*mode_t mode*/)参数:pathname:需要打开的文件flags...

2018-09-15 17:11:22 744

原创 系统编程——线程

1.线程是进程的一个执行流,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。2.一个进程由几个线程组成,线程与同属一个进程的其他的线程共享进程所拥有的全部资源。3.进程——资源分配的最小单位,线程——程序执行的最小单位。4.进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。5.线程有自己的堆栈和局部变量,但线程...

2018-08-20 20:36:44 137

原创 进程间通信(IPC)

进程间通信的五种方式:1.管道(有名管道,无名管道)2.信号(signal)3.消息队列4.共享内存5.信号量一.管道(有名管道,无名管道)无名管道:只能在父进程与子进程之间通信管道的读写其实就是文件的读写操作void ReadData(int fd){    int ret;    char buf[32] = {0};    while (1)    {    ...

2018-08-19 18:35:52 148

原创 系统编程1——进程

程序:一段代码进程:正在运行的程序,资源分配的最小单元!!!程序与进程的区别:1.进程是动态的,程序是静态的:程序是有序代码的集合;进程是程序的执行。通常进程不可在计算机之间迁移;而程序通常对应着文件、静态和可以复制2.进程是暂时的,程序使长久的:进程是一个状态变化的过程,程序可长久保存3.进程与程序组成不同:进程的组成包括程序、数据和进程控制块(即进程状态信息)4.进程与程序的...

2018-08-16 20:41:03 235

原创 栈的应用——中缀表达式转后缀表达式并求值

栈的一些功能函数,这边用到的是链式栈。typedef char ElemType;//结点的信息struct node{ ElemType data; //数据域 struct node *next; //指针域};typedef struct node Node; //栈的信息struct stack{ Node *top; ...

2018-08-09 10:38:04 354

原创 用链表实现一个简单通讯录

功能实现:添加信息(尾插法)i nt ListInput(Node **l);显示信息     int ListShow(Node *l);插入信息     int ListInsert(Node *l, int n);删除信息     int ListDelete(Node *l,int p); #include <stdio.h>#include &lt...

2018-08-05 20:38:44 3970

原创 结构体,联合体,字节序,

一、数据结构定义:struct A{    int a;    char b[];};struct A a1;a2;二、结构体指针定义(使用前一定要分配空间)struct A *p = (struct A*)malloc(sizeof(struct A));结构体长度的原则1.一定是最长成员的整数倍(double除外 是4的倍数)2.每个成员的偏移量一定是成员长度的整数倍...

2018-07-29 20:54:54 331

原创 数组指针总结

int a[10] 定义一个整型数组 里面有10个元素a 数组名,同时也为首元素地址 +1 +4字节&a 数组地址 +1 +40字节&a[0] 数组首元素的地址 +1 +4字节int a[4][3]a 数组名,同时也为首行地址 +1 +12&a...

2018-07-27 20:50:04 186

原创 文件I/O操作

文件I/O操作POSIX库函数 :(protable operating system interface 可以移植操作系统接口)open() read() write() lseek() close()这些函数只能在Linux下使用,程序不可移植,这些函数主要是用来系统调用的,比较低级。返回值:是一个文件描述符C标准库函数:fopen() fread() fwrite() fsee...

2018-07-26 20:57:26 201

空空如也

空空如也

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

TA关注的人

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