C
文章平均质量分 64
passerbyyuan
这个作者很懒,什么都没留下…
展开
-
单片机的下载方式分类
单片机下载有三种:①离线下载: 离线下载为把单片机取下,放在编程器上下载,这种方式通常使用并行的方式写入程序。量产的时候一般用离线方式,烧好的芯片拿到车间焊接。很多公司下载是专人负责,保密性强,我们接项目时也是这种方式给客户,烧一个芯片说明你生产了一台,用这种方式提成。②一种为在系统下载:在系统下载就是你说的ISP(In System Programming),单片机在线路板上原创 2016-05-14 09:13:09 · 3226 阅读 · 0 评论 -
编译e2fsprogs源码
最近参与的一个项目涉及到读写SD卡,在读写过程中,如果忽然发生断电行为,有一定概率性导致sd卡的文件系统损坏(本人采用ext2文件系统),试想过两种方案:1、当系统启动时,检测mount失败,重新格式化分区,命令如下mkfs.ext2 /dev/分区名(对应的硬件存储设备)然后再重新执行mount指令 2、mount失败时选择修复SD卡的文件系统(第一种方式会导致SD卡之前存储的内容原创 2018-01-08 11:52:12 · 5578 阅读 · 0 评论 -
linux的一些系统限制
1. 关于POSIX机制的消息队列mq: This filesystem can be mounted (by the superuser) using the following commands: # mkdir /dev/mqueue # mount -t mqueue none /dev/mqueue The sti原创 2017-12-24 17:28:56 · 569 阅读 · 0 评论 -
动态分配多维数组和释放其内存
/*动态构建三维数组内存分配函数*//* * pArr: 指向三维数组首地址 * x: 三维数组第一维元素个数 * y: 三维数组第二维元素个数 * z: 三维数组第三维元素个数 */void Create3DActiveArray(int ***pArr, int x, int y, int z){ int i, j, k; pArr = (int ***)mal原创 2017-11-23 16:05:26 · 690 阅读 · 0 评论 -
二叉搜索树的操作
二叉查找树 二叉查找树(BinarySearch Tree,也叫二叉搜索树,或称二叉排序树Binary Sort Tree)或者是一棵空树,或者是具有下列性质的二叉树: 1.若它的左子树不为空,则左子树上所有结点的值均小于它的根结点的值; 2.若它的右子树不为空,则右子树上所有结点的值均大于它的根结点的值; 3.它的左、右子树也分别为二叉查找树。//二叉原创 2016-06-23 14:12:51 · 321 阅读 · 0 评论 -
二叉树的创建与遍历2
//二叉树的非递归遍历 堆栈堆栈 中序遍历算法:1.当遇到一个结点,就把它压栈,并去遍历他的左子树;2.当左子树遍历结束后,从栈顶弹出这个结点并访问它;3.然后按其有指针再去中序遍历该节点的右子树。//用堆栈实现中序遍历的非递归程序void InOrderTrversal(BinTree BT){BinTree Ptr = BT;Stack S = Crea原创 2016-06-20 20:29:32 · 448 阅读 · 0 评论 -
栈的创建和应用
/*栈的基本操作函数CreateStack()IsFull()Push()IsEmpty()Pop()栈的特点:先进后出(LIFO),表尾即栈顶,仅在表尾进行插入或删除的线性表*/顺序栈(即地址连续的存储单元)#define StackIncrease 20typedef struct{ElemType *base;ElemType *t原创 2016-06-19 13:47:59 · 493 阅读 · 0 评论 -
二叉树的创建与遍历1
//n0表示叶子节点的个数,n2表示度为2的非叶子节点的个数,那么两者满足关系n0 = n2 + 1,//n1表示度为1的非叶子节点的个数 ,有总结点数n = n0 + n1 + n2/*二叉树的遍历:先序:根,左子树,右子树中序:左子树,根,右子树后序:左子树,右子树,根层次遍历:从上到下,从左到右*/typedef struct TreeNode *Bin原创 2016-06-20 14:19:24 · 485 阅读 · 0 评论 -
循环队列的创建
//和栈相反,队列(Queue)是一种先进先出(FIFO)的线性表循环队列顺序存储结构#define MAXQSIZE 100//最大队列长度typedef struct{QElemType Data[MAXQSIZE];int front;int rear;}SqQueue;void QueueInit(SqQueue &Q){Q.front = 0;原创 2016-06-19 16:42:28 · 1482 阅读 · 0 评论 -
指针函数和函数指针对比
函数指针:(指向函数的指针):其本质上是一个指针,指向函数的内存地址,示例如下:int (*f) (int x); /* 声明一个函数指针 */f=func; /* 将func函数的首地址赋给指针f */1#includestdio.h>2#includestdlib.h>34 int main()5{6int原创 2016-05-28 16:19:00 · 487 阅读 · 0 评论 -
单链表的创建
尾差法创建链表typedef struct PolyNode{int data;struct PolyNode *next;}LNode,*LinkList;void CreateList(LinkList &L,int n)//此处采用C++中的引用{LinkList P;int i;L = (LinkList) malloc (sizeof(LNod原创 2016-06-19 12:04:30 · 502 阅读 · 0 评论 -
冒泡排序
基本排序算法/*排序:只讨论比较排序 只讨论内部排序 稳定性 数值相等的两个数,排序前后相对位置不变 没有一种排序是任何情况下都表现最好的*///冒泡排序:每次筛选出最大值//时间复杂度不变O(N2)void Bubble_Sort(ElementType a[],int N){ int P; int i; for(P = N-1;P >= 0;P原创 2016-07-13 12:49:39 · 281 阅读 · 0 评论 -
数组名和数组名取地址的区别
#include int main(){ int a[5]; printf("%d\n", a); printf("%d\n", &a); printf("%d\n", a + 1); printf("%d\n", &a + 1); printf("%d\n", &a[0] + 1); printf("-转载 2016-07-12 19:38:30 · 499 阅读 · 0 评论 -
ASCLL一览表
注:大小写字母的转换 'a' -'A' = 32‘0’ 的ASCLL码为48‘a ’的ASCLL码为97’A’ 的ASCLL码为65'0'即为字符 0'\0'的ascll码为0,用于字符串的结束符NULL 其实也是ascll为0的数,只是表示方式不一样,NULL= (void*) 0;下文转自:http://blog.csdn.net/songjinshi/articl转载 2016-07-12 12:56:34 · 13786 阅读 · 0 评论 -
关键字volatile的含义及使用
volatile的本意是“易变的”C语言书籍这样定义volatile关键字:volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。文章出自:http://bbs.原创 2016-07-11 21:39:53 · 9942 阅读 · 1 评论 -
堆的创建
//脑部:数字0x12 34 56 78在内存中的表示形式为:1)大端模式:低地址 -----------------> 高地址0x12 | 0x34 | 0x56 | 0x782)小端模式:低地址 ------------------> 高地址0x78 | 0x56 | 0x34 | 0x12可见,大端模式和字符串的存储模式类似//原创 2016-06-24 20:15:10 · 426 阅读 · 0 评论 -
webrtc库的应用
对于声学回声消除目前比较流行的WEB_RTC开源库的应用日益增多,本人在这小试牛刀,希望日后能更深层次的进行学习。以下分别是针对webrtc开源库的调用,包括create(),init(),config(),process(),close()#include<stdio.h>int webrtc_open(void **webrtc_handle,int SampleRate){...原创 2018-03-15 15:44:19 · 1698 阅读 · 1 评论