
Linux&&网络
NB_vol_1
这个作者很懒,什么都没留下…
展开
-
linux的一些操作
vi编辑器操作1、打开文件:vi filename2、打开文件后进入命令模式,单击‘i’进入编辑模式3、在编辑模式中按esc键,退出编辑模式,进入命令模式4、在命令模式输入‘:’,然后选择退出,‘wq’是保存退出,‘q!’是不保存退出5、在编辑模式下如果发现输入错误想删除,那么应该回到命令模式下,将光标移动到你需要删除的字符前面,然后按‘x’就可以删除该字符了,‘X原创 2013-02-23 11:33:21 · 724 阅读 · 0 评论 -
使用内存文件映射实现共享内存
不使用IPC中的共享内存(shm),使用内存文件映射的方式来实现共享内存共享内存写入者:// 使用文件内存映射进行内存共享#include #include #include #include #include #include #include #include #include #include using namespace std;// 用户自定义的一个数原创 2016-07-15 12:02:58 · 2518 阅读 · 0 评论 -
文件内存映射(mmap)
实例:// 文件内存映射#include #include #include #include #include #include #include #include #include #include using namespace std;// 主函数int main(int argc,char* argv[]){ // 文件描述符 int f原创 2016-07-15 11:32:06 · 802 阅读 · 0 评论 -
教你初步了解红黑树
原文:点击打开链接教你初步了解红黑树 作者:July、saturnman 2010年12月29日本文参考:Google、算法导论、STL源码剖析、计算机程序设计艺术。推荐阅读:Left-Leaning Red-Black Trees,Dagstuhl Workshop on Data Structures, Wadern, Germany,转载 2016-07-15 11:13:43 · 414 阅读 · 0 评论 -
红黑树
红黑树是一种平衡的二叉排序树,首先它是二叉排序树,即它的节点之间都是有序的; 其次,它是一种平衡树,因此它的查找效率是比较优的红黑树的五个性质:1、每个节点要么是红色的要么是黑色的2、根节点必须是黑色的3、叶子节点(即NULL节点)是黑色的4、如果一个节点是红色的,那么它的两个孩子必须是黑色的5、对于每一个节点,它到叶子节点的所有路径包含的黑色节点的个数都相同由原创 2016-07-15 11:10:35 · 902 阅读 · 0 评论 -
线程同步——条件变量
多线程中条件变量的使用:// 线程同步之条件变量#include #include #include #include #include #include #include #include using namespace std;// 一个简单的缓冲区类struct SimpleBuffer{ static const int buffer_size =原创 2016-07-15 10:11:02 · 423 阅读 · 0 评论 -
线程同步——信号量
线程同步互斥中信号量的使用// 线程同步之信号量(注意和IPC信号量的区别,IPC信号量用于进程间通信)#include #include #include #include #include #include #include #include using namespace std;// 信号量sem_t sem;// 公共缓冲区,给生产者和消费者读写cha原创 2016-07-15 09:43:53 · 575 阅读 · 0 评论 -
线程同步——互斥量
互斥量的使用:// 线程同步之互斥量#include #include #include #include #include #include #include using namespace std;// 全局变量,两个线程都可以修改,因此修改的时候需要加锁int g_Value = 0;// 互斥量pthread_mutex_t lock;// 线程函数1原创 2016-07-15 09:21:20 · 513 阅读 · 0 评论 -
Linux进程通信——消息队列
消息发送者进程:/* * 进程间通信之消息队列,代码源自《Linux程序设计》 */#include #include #include #include #include #include #include using namespace std;#define BUFSIZ (2048)// 用户自定义的数据结构// 请注意,这个结构的第一个字段必须是lon原创 2016-07-14 22:09:39 · 381 阅读 · 0 评论 -
Linux进程通信——共享内存
生产者进程:/* * 进程间通信之信号量,代码源自《Linux程序设计》 */#include #include #include #include #include #include // 使用信号量必须包含该文件#include using namespace std;// shmid_ds这个结构体已经在系统中定义了,所以不需要再次定义struct shmi原创 2016-07-14 21:40:56 · 534 阅读 · 0 评论 -
Linux进程通信——信号量
/* * 进程间通信之信号量,代码源自《Linux程序设计》 */#include #include #include #include #include // 使用信号量必须包含该文件#include using namespace std;// 自定义的一个联合体,信号量相关函数需要使用union semun{ int val; struct se原创 2016-07-14 20:49:38 · 518 阅读 · 0 评论 -
非阻塞connect的实现
需要非阻塞connec的几种情况:1.三路握手需要时间,这个要视具体的网络情况而定。当然也有可能失败。在三路握手的时候我们并不需要在原地等待三路握手的完成,可以用这些时间来完成其它事情,然后当这些事情完成后,再去检测连接是否建立(也就是三路握手是否完成)。2.可以用这种技术来同时建立多个连接。(WEB浏览器中很常用)。3.connect超时需要很长时间才会通知,如果我们认为超过0.1秒原创 2016-04-13 12:13:21 · 1206 阅读 · 0 评论 -
centos 下 Qt Creator 的安装使用
【转载】centos 下 Qt Creator 的安装使用Qt 以其开源,免费,完全面向对象(很容易扩展),允许真正的组件编程以及可移植跨平台等诸多优势得到越来越多的开发人员的青睐。Qt Creator 是 Nokia 官方推出的专门针对 Qt 开发的 IDE。本文详细介绍了 Linux 下 Qt Creator 的安装,并针对 Qt Creator 的使用举了一个 Hello转载 2015-06-01 10:41:00 · 1301 阅读 · 0 评论 -
linux命令
cat 显示文件内容chmod 改变文件属性chwon 改变文件拥有者cmp 比较两个文件cp 复制文件clear 清空屏幕cut 移除文件的部分内容diff 比较两个文件的不同之处du 显示磁盘的剩余空间file 显示文件的类型find 查找原创 2015-11-06 17:01:39 · 614 阅读 · 0 评论 -
shell学习
linux常用目录:/ 根目录/bin 存放用户级的工具(可执行文件)/boot 启动目录,存放启动文件/dev 设备目录,系统在此创建设备节点/etc 系统配置文件目录/home 主目录/lib 库目录,存放系统和应用的库目录/media 媒体目录,一般可移动设备挂载在此/mnt 挂载目录/opt 可选目录,存放一些原创 2015-11-06 17:04:30 · 635 阅读 · 0 评论 -
http协议解析
http协议解析一、http协议的特点:1、支持客户/服务器模式2、简单快速:客户向服务器请求时,只需传请求方法和路径3、灵活:http允许传输任意类型的数据对象。正在传输的数据的类型由Content-Type加以标记4、无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并受到客户的应答后,即断开连接;从1.1版本开始支持持续连接机制。5、无状态原创 2015-11-12 21:04:19 · 945 阅读 · 0 评论 -
Epoll在LT和ET模式下的读写方式
原文:点击打开链接在一个非阻塞的socket上调用read/write函数, 返回EAGAIN或者EWOULDBLOCK(注: EAGAIN就是EWOULDBLOCK)从字面上看, 意思是:EAGAIN: 再试一次,EWOULDBLOCK: 如果这是一个阻塞socket, 操作将被block,perror输出: Resource temporarily unavailable总结:转载 2016-04-09 16:02:12 · 623 阅读 · 0 评论 -
pkg-config的作用
有些时候你的工程会用到第三方库,比如你会用到一个叫libxxx库,,编译和安装后,你通常会在/usr/local/lib 和/usr/local/include/ 目录下发现有xxx/目录,但是很多时候你在代码中引用libxxx库的头文件时,声明如下:#include 你的代码写好后,你编译时会出现:fatal err转载 2017-10-24 11:18:56 · 590 阅读 · 0 评论