- 博客(38)
- 收藏
- 关注
转载 进程与线程区别与联系
并发执行:单个CPU同时运行几个程序,或者同时运行同一程序多个线程或者进程,在宏观上实现并行并行执行:多个CPU执行多个进程或者线程定义:进程线程 联系:区别: 进程,是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念,竟争计算机系统资源的基本单位。每一个进程都有一个自己的地址空间,即进程空间或(虚空间)。进程空...
2017-10-15 23:41:00
186
转载 进程间通信和线程间通信的区别
一、进程间的通信方式管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。有名管道 (namedpipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。信号量(semophore ) : 信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程...
2017-10-15 21:47:00
492
转载 STRLEN
因为strlen函数会以“\0”为结束,读到“\0”即结束了,也就是只统计了A,一个长度。 拓展:如果是strlen("A\0123\0ASD");统计结果为3,因为\012为八进制数10所对应的ASCII嘛值,共有A、\012、3三个字符被统计!转载于:https://www.cnblogs.com/Deanboy/p/7658492.html...
2017-10-12 22:14:00
372
转载 二叉树数据结构和算法
参考:http://blog.youkuaiyun.com/dazhong159/article/details/7906916百度面试题目: 输入一个整数和一棵二元树。从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。打印出和与输入整数相等的所有路径。 例如输入整数 22 ,如下图二元树: ...
2017-10-08 11:23:00
217
转载 TYPDEF使用注意部分
#include <stdio.h>typedef int* INT;int main(void){ const INT a; const int* b; *a = 2; b = NULL; *b = 3; return 0;}打印结果:tmp.c:12:4: error: ass...
2017-10-07 15:41:00
127
转载 TCP/IP 详细笔记
http://blog.youkuaiyun.com/goodboy1881/article/category/204448转载于:https://www.cnblogs.com/Deanboy/p/7603428.html
2017-09-27 19:19:00
121
转载 USB驱动开发
参考: http://blog.youkuaiyun.com/zqixiao_09/article/category/6152474转载于:https://www.cnblogs.com/Deanboy/p/7600074.html
2017-09-27 09:32:00
193
转载 原码补码反码
例:7的 原码 0000 0111 反码 0000 0111 补码 0000 0111-7 原码 1000 0111 反码 1111 1000 第一位1 是符号位表示为负 不变 其他位取反 补码 1111 1001 在反码基础上最后一位加一 补码负数 就是在内存中的存储形式这时在内存中,把7和-7相加 ...
2017-09-21 10:41:00
147
转载 八大排序算法
http://blog.youkuaiyun.com/hguisu/article/details/7776068/http://blog.sina.com.cn/s/blog_77795cad01011txt.html 时间复杂度快速排序算法的时间复杂度为什么是O(NlogN),还有O(N^2) 参考http://blog.youkuaiyun.com/iihtd/article/d...
2017-09-21 09:58:00
90
转载 有符号数和无符号数的转换
参考:http://www.cnblogs.com/tgycoder/p/4218696.htmlint main(void){ /* 一个字节 无符号范围为[0, 255],有符号范围为[ -128,0],[0,127] */ signed char b = -120; signed short c = -60000; unsigned char a; ...
2017-09-20 22:20:00
583
转载 a+1和&a+1
首先a是一个数组名,当看到这个a与&a时,一般我们的理解都是这个数组的首地址。没错,如果加上打印的话,确实两个值是一样的。不过&a是整个数组的首地址,a则是数组首元素的地址,虽然值一样,但是意义却不相同。在此之前有必要先看下c程序在内存中的分布图。示例代码:#include <stdio.h> int main(...
2017-09-20 22:02:00
739
转载 可重入函数与不可重入函数
参考:http://blog.youkuaiyun.com/wenhui_/article/details/6889013重入:重新进入区别:多个任务能否同时调用一个函数,例如操作系统在进程调度过程中,或者单片机、处理器等的中断的时候会发生重入的现象满足下面条件之一的多数是不可重入函数:(1)使用了静态数据结构;(2)调用了malloc或free;(3)调用了标准I/O函数,比如prin...
2017-09-20 12:35:00
155
转载 Linux笔试题
1.linux 下图形用户接口(GUI)编程技术最常用到的库有哪些?(三个以上) OPENGUI GTK QT MicoroWindows 图形库的介绍参考 http://blog.youkuaiyun.com/gogor/article/details/59259252.请列举主流linux 的发布版本(四个以上)。 Redhat Debian Fedor...
2017-09-19 23:03:00
112
转载 linux 系统能支持的文件系统
1.yaffs第一个专门为NAND Flash存储器设计的嵌入式文件系统,适用于大容量的存储设备;并且是在GPL(General Public License)协议下发布的,可在其网站免费获得源代码2.ext它是专门为Linux设计的,拥有最快的速度和最小的CPU占用率3.nfs网络文件系统4.jffs功能是管理在MTD设备上实现的日志型文件系统,将文件系统...
2017-09-19 17:29:00
626
转载 linux内核多种进程间通信机制
1.管道通信:无名管道和有名管道 (1)管道(无名管道) 1.管道通信的原理:内核维护的一块内存,有读端和写端(管道是单向通信的) 2.管道通信的方法:父进程创建管理后fork子进程,子进程继承父进程的管道fd 3.管道通信的限制:只能在父子进程间通信、半双工 4.管道通信的函数:pipe、write、read、close (2)有名管道(fifo) 1.有名管...
2017-09-19 17:14:00
385
转载 中断服务函数的编写要求
中断是嵌入式系统中重要的组成部分,但是在标准C中不包含中断。许多编译开发商在标准C上增加了对中断的支持,提供新的关键字用于标示中断服务程序 (ISR),类似于__interrupt、#program interrupt等。当一个函数被定义为ISR的时候,编译器会自动为该函数增加中断服务程序所需要的中断现场入栈和出栈代码例:_interrupt double compute_are...
2017-09-19 15:53:00
1119
转载 CONST常量的用法
参考 http://blog.youkuaiyun.com/sddzycnqjn/article/details/7289712转载于:https://www.cnblogs.com/Deanboy/p/7541546.html
2017-09-18 09:27:00
206
转载 SIZEOF函数使用
参考 http://blog.youkuaiyun.com/wzy198852/article/details/72468361.语法sizeof有三种语法形式,如下:1) sizeof( object ); // sizeof( 对象 );2) sizeof( type_name ); // sizeof( 类型 );3) sizeof object; // sizeof 对象;2....
2017-09-17 20:51:00
132
转载 ARM的异常模式
参考:http://blog.youkuaiyun.com/yang_niuxxx/article/details/45484597ARM处理器之处7种工作模式1.用户模式(USR) 用于正常执行程序2.快速中断模式(FIQ) 用于高速数据传输3.外部中断模式(IRQ) 用于通常的中断处理4.管理模式(SVC) 操作系统使用的保...
2017-09-17 17:06:00
451
转载 IPV6到IPV4的转换
今天笔试做了一个这个题,第一次,见一脸懵逼。现在查了下大概知道怎么转换了,比如:将ipv4 192.168.99.1 转成 ipv6 其实就是将十进制转化成十六进制:192/16=12余0 → C0 ; 168/16=10余8 → A8;99/16=6余3→63;1/16=0余1→01合起来就是: < ::C0A8:6301 >反过来也是如此,Step1 &...
2017-09-16 16:50:00
3521
转载 IIC SPI UART通信方式的区别
1.定义上的区别IIC:Inter-Integrated Circuit 两线式串行总线SPI : serial peripheral interface 串行外围设备接口UART :Universal Asynchronous Receiver/Transmitter 通用异步收发传输器通信速率SPI > IIC > UARTSPI :...
2017-09-16 15:35:00
463
转载 五大类程序设计模式
创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、 状态模式、访问者模式、中介者模式、解释器模式。并发型模式线程池模式...
2017-09-16 15:06:00
192
转载 套接字编程基础
socketbindlistenacceptconnectsend/recv参考 http://blog.youkuaiyun.com/xiaoweibeibei/article/details/6584250 以下载到网页资料文件夹中转载于:https://www.cnblogs.com/Deanboy/p/7531245.html...
2017-09-16 14:29:00
135
转载 主机字节序和网络字节序转换
为什么要转换?主机字节序:整数在内存中保存的顺序,不同的处理器对应不容的模式Little endian 将低序字节存储在起始地址Big endian 将高序字节存储在起始地址网络字节序:整数在网络中的发送顺序网络字节顺序是TCP/IP中规定好的一种数据表示格式,它与具体的CPU类型、操作系统等无关,从而可以保证数据在不同主机之间传输时能够被正确解释。网...
2017-09-16 14:25:00
275
转载 位运算
1.特定位置1用 "|"2.特定位取反用 "^"(任何数,其实就是1或者0)与1位异或会取反,与0位异或无变化操作手法和刚才讲的位与是类似的。3.特定位清零用 "&"例1:写一个宏将a的bit2置位 通用:#define SETBIT(a, n) (a | ( (1U) << n ) ) #define SET...
2017-09-16 10:51:00
241
转载 ARM体系结构的特点
低成本、低电压功耗 ARM内核采用RISC精简指令计算机结构,RISC的设计思想Load/Store体系结构大量的寄存器,可用于多种用途每条指令都有条件执行多寄存器的Load/Store指令能够在单时钟周期执行的单条指令内完成一项普通的移位操作和一项普通的ALU操作通过协处理指令集来扩展ARM指令集,包括在编...
2017-09-15 20:23:00
1057
转载 static关键字的作用
修饰局部变量:在函数体内staic的作用范围为该函数体,不同于auto变量,该变量的内存只被分配一次,因此其值在下次函数被调用时,还保持上次的值修饰全局变量:在模块内的static全局变量只能被模块内的所有函数访问,不能被其他模块访问修饰函数体:在模块内static函数只能被该模块内的其它函数调用,不能被除这个模块外的其他模块调用转载于:https://www.cnblogs...
2017-09-15 19:40:00
75
转载 了解BSP好的博客
http://blog.youkuaiyun.com/qsj8362234/article/details/6325761BSP:board support package 板级支持包 BSP是所有与硬件相关的代码体的集合转载于:https://www.cnblogs.com/Deanboy/p/7526497.html...
2017-09-15 15:02:00
97
转载 嵌入式实时操作系统
参考http://blog.youkuaiyun.com/tommyjsj/article/details/7840919 http://blog.youkuaiyun.com/abcflyer/article/details/46863225几种常用的 1.VxWorks 广泛地应用在通信、军事、航空、航天等高尖技术及实时性要求极高的领域,尤其是在许多关键应用方...
2017-09-15 14:55:00
204
转载 大端和小端的存储方式
参考 http://blog.youkuaiyun.com/favory/article/details/4441361从低地址------->高地址小端(llittle endian) 低字节------->高字节大端(big endian) 高字节------->低字节在一个处理器系统中,有可能存在大端和小端模式同时存在的现象这一现象为系统的软硬件...
2017-09-15 13:15:00
467
转载 Volatile关键字的作用
定义:词义,易变的, 实质是直接存取原始内存地址(1)作用 volatile关键词影响编译器编译的结果,用 volatile声明的变量表示该变量随时可能发生变化,与该变量有关的运算,不要进行编译优化,以免出错 1.告诉编译器不要做任何优化 2.用volatile定义的变量会在程序外被改变,每次都必须从原始内存中读取,而不能重复使用放在cache或寄存器中的备份(...
2017-09-15 11:26:00
127
转载 父子进程
fork 后子进程对父进程的继承 (1)为什么需要创建子进程?每一个程序的运行都需要进程,创建子进程可以实现宏观上的并行(2)什么时候需要创建子进程?当父进程执行到某个阶段,或接收到某个事件后,需要创建一个独立的进程来协助其完成任务时,才需要调用fork创建一个新进程(3)子进程对父进程的继承 1.为什么要继承父进程的相关资源,参考 http://blog.c...
2017-09-15 10:43:00
291
转载 TCP/IP--1
网络模型分层: OSI七层模型 TCP/IP四层模型OSI:Open System Interconnection 开放系统互联应用层 (Application)网络服务与最终用户的一个接口。协议有:HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP(字母中不包含 I)表示层(Pr...
2017-09-14 15:49:00
127
转载 Strcpy函数的实现
(1)strcpy函数没有处理内存重叠的情况,所以内存重叠时使用这个函数会让程序崩溃函数原型为:char * strcopy(char *dst, char *src, int n){ char *addr = dst; assert((dst != NULL) && (src != NULL) ); while((*addr++ = *s...
2017-09-14 14:44:00
133
转载 C/C++ 面试题1
(1)如何在不使用第三个变量的情况 下交换变量值第一种:算术运算:把a、b看做数轴上的点,围绕两点间的距离来进行计算int a,b;a=10;b=12;a=b-a; //a=2;b=12b=b-a; //a=2;b=10a=b+a; //a=12;b=10具体过程:第一句“a=b-a”求出ab两点的距离,并且将其保存在a中;第二句“b=b-a”求出a到原点的距离(b到原点的...
2017-09-14 11:10:00
70
转载 Static 静态局部变量
void fun(int a){ a = 3;}int main(void){ static int a = 5; fun(a); printf("a = %d\n", a); return 0;}打印:a = 5 static定义变量,函数调用后,a的值还是不变...
2017-09-13 16:08:00
78
转载 Linux内核学习博客
http://edsionte.com/techblog/转载于:https://www.cnblogs.com/Deanboy/p/7515012.html
2017-09-13 15:03:00
77
转载 字符串数组指针
(1) char *a = "abc"; char *b; b = a; printf("%s\n", b);打印:abca b 都是字符串指针,拷贝的是字符串地址,而不是字符串本身(2) char a[4] = "abc"; char *b; b =...
2017-09-12 10:56:00
185
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅