摘要:
IO是计算机上最慢的部分,先不看磁盘IO,针对网络编程,自然是针对网络IO。网络协议对网络IO影响很大,当下,TCP/IP协议是毫无疑问的主流协议。 文件IO中使用了文件描述符的概念。但是并不是所有操作系统都提供文件描述符这样抽象的机制。因此 文件IO 的那一套函数,可以在类unix系统下使用。但是 阅读全文
摘要:
【函数指针】 指向函数的指针;函数是有地址的;函数指针存储了函数指令的起始地址; 声明一个函数指针:需要指明函数返回类型和形参类型;int (*fp)(int,int);*fp为一体,说明了指针类型;*fp需要用括号括起来; 还可以结合typedef为函数指针类型起一个新名字:typedef int 阅读全文
摘要:
【头文件引用符号区别】 用<>和""是有一定的区别的。在编译器查找头文件的时候,会在两个区域分别查找。 <> : 是系统头文件区域,即类似于stdio.h一类的C库函数头文件区。 "" : 是自定义头文件区,比如当前目录,以及其它自定义的目录。 用<>时,编译器会先在系统区域查找,然后再查找自定义区 阅读全文
摘要:
通配符:* 表示匹配0个或多个字符?表示匹配任意单个字符[] 表示一个一定在括号内的字符{} 表示匹配{}内的字符串(可能是多个字符,可能是单个字符) 注意:[]只能识别单个字符,搜索多字符的情况使用通配符“ [ ] ”是不合理的,因为搜索结果是比较难以预料的。 搜索多个字符的时候使用 “ { } 阅读全文
摘要:
/dev/null 空设备,是一个特殊的设备文件,它丢弃一切写入其中的数据(但报告写入操作成功),读取它则会立即得到一个EOF。等价于一个只写文件,并且所有写入它的内容都会永远丢失,而尝试从它那儿读取内容则什么也读不到。然而, /dev/null对命令行和脚本都非常的有用。 0 是一个文件描述符,表 阅读全文
摘要:
在Linux中,每个进程都有属于自己的进程控制块(PCB)和地址空间(Addr Space),并且都有一个与之对应的页表, 负责将进程的虚拟地址与物理地址进行映射,通过内存管理单元(MMU)进行管理。两个不同的虚拟地址通过页表映射到物理空间的同一区域,它们所指向的这块区域即共享内存。 在物理地址中有 阅读全文
摘要:
消息队列是Linux IPC中很常用的一种通信方式,它通常用来在不同进程间发送特定格式的消息数据。 消息队列可以认为是一个链表。进程(线程)可以往里写消息,也可以从里面取出消息。 消息队列:容量受到系统限制,且要注意第一次读的时候,要考虑上一次没有读完数据的问题。 消息队列是消息的链接表,存放在内核 阅读全文
摘要:
相关函数: sem_init 初始化信号量sem_post 点灯/释放资源sem_wait 等待灯亮并灭灯/占用资源sem_trywaitsem_destroy 销毁信号量 信号量也叫信号灯 只要信号量的value大于0,其他线程就可以sem_wait成功,成功后信号量的value减一。若value 阅读全文
摘要:
可以用来检查文件有没有被篡改; message digest简称md;信息摘要;可以从任意长度的字符串生成一个128位的哈希值; 重要信息,按照拼接规则进行拼接;生成一个任意长度的字符串;该字符串,用md5算法进行计算,md5值; 阅读全文
摘要:
RSA:RSA算法是一种非对称密码算法,所谓非对称,就是指该算法需要一对密钥,使用其中一个加密,则需要用另一个才能解密。对极大整数做因数分解的难度决定了RSA算法的可靠性。换言之,对一极大整数做因数分解愈困难,RSA算法愈可靠。假如有人找到一种快速因数分解的算法的话,那么用RSA加密的信息的可靠性就 阅读全文