管道

匿名管道(pipe)管道是IPC最基本的一种实现机制。我们都知道在Linux下“一切皆文件”,其实这里的管道就是一个文件。管道实现进程通信就是让两个进程都能访问该文件。 管道的特征: ①只提供单向通信,也就是说,两个进程都能访问这个文件,假设进程1往文件内写东西,那么进程2 就只能读取文件的内容。...

2018-03-23 18:05:43

阅读数 44

评论数 0

多线程pthread函数的基本使用

#include<stdio.h> #include<pthread.h> pthread_cond_t cond; pthread_mutex_t mutex; void *r1(void *arg) {...

2018-03-23 16:15:23

阅读数 67

评论数 0

进程与线程

进程:具有一定独立功能的程序,他是系统进行分配资源和调度的一个独立单位,也就是说进程是一个程序的动态过程线程:线程是进程的一个实体,是cpu独立运行和调度的基本单位,由于线程比进程更小基本上不拥有系统资源,所以它的调度所付出的开销小很多,更高效的提高系统内多个程序间并发执行的程度。区别:1.多个线...

2018-03-23 15:59:38

阅读数 43

评论数 0

实现简易shell

用fork() 创建出来的子进程是和父进程相同的程序 经常与exec函数搭配   让子进程做其他事情    对于exec 就不详细解释 可以自己去 man 下   主要功能就是进程程序替换   六种不同的exec 参数不同 要注意 于是 我们可以写一个简易版的shell(只实现最...

2017-12-12 13:29:28

阅读数 98

评论数 0

僵尸进程与孤儿进程

看了网上写的 找到自己想要的答案  父进程健在 , 子进程挂了, 子进程是僵尸 父进程死了, 子进程在, 子进程就是孤儿进程 孤儿进程被一号进程收养 ,一号进程也叫孤儿院 你首先要了解 fork()  getpid()  的返回值  如果英语好的 可以man下 ...

2017-11-27 00:01:38

阅读数 145

评论数 0

Linux指令查询

线上查询及帮助命令(2个) 命令 功能说明 man 查看命令帮助,命令的词典 help 查看Linux内置命令的帮助 文件、目录操作命令(18个) 命令 功能说明 ...

2017-11-05 11:00:51

阅读数 202

评论数 0

Linux下的重要目录/proc, /sys, /SElinux, /bin, /usr/lib, /usr/local, /var, /tmp .....

linux 常用目录的作用和存放的内容:/bin 存放使用者最长用的命令,如:cp、ls、cat,等等。 /boot 启动linux时使用的一些核心文件。 /dev 是device(设备)的缩写,这个目录下是所有linux的外围设备。 /etc 这个目录用来存放系统管理所需要的配置文件和子目录。...

2017-11-05 10:46:02

阅读数 126

评论数 0

Linux 关于g++,gdb,ctags安装以及vim的配置

Centos6.5 虚拟机Linux 安装g++,gdb,ctags    1.su //进入根目录;    2.yum install gcc-c++ //安装g++;    3.yum install gdb //安装gdb    4.yum instal...

2017-11-05 10:35:14

阅读数 75

评论数 0

为什么模板不支持分离编译

上文简述了类模板相关功能,本文主要简述为什么模板不支持分离编译?   在C++中,为了一个项目的规范,我们通常把代码归为三类:声明文件、实现文件、测试文件.   比如,我要用C++实现一个链表,那么就会创建这3个文件:   LinkList.h   //链表的相关声明   LinkList...

2017-10-17 11:05:54

阅读数 98

评论数 0

队列与栈的一些基本问题

实现栈#pragma once #include template class stack { public: stack() :_size(0) , _capacity(0) , _arr(NULL) {} ~stack() { if (_size != 0) { ...

2017-10-03 01:09:39

阅读数 71

评论数 0

关于单链表的一些常见问题

#include using namespace std; #include #include struct ListNode { int _data; struct ListNode* _next; ListNode(int x) :_data(x), _next(NULL) ...

2017-07-23 12:37:22

阅读数 414

评论数 0

复杂链表负责三步走

复杂链表--每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点 这个问题难点不在于代码 在于理解  首先理解复杂链表 他的特殊指针random  他随机指向一个节点 也可能为空 个人觉得特殊指针在是一种迷惑  思考时可以忽略它 先想怎么搞出来复...

2017-07-22 00:28:32

阅读数 81

评论数 0

TCP握手和挥手

三次握手 —— 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1...

2017-07-19 14:08:56

阅读数 97

评论数 0

linux的基本配置和vim的快捷键

1. sudo yum install gcc  2.sudo yum install g++  3.sudo yum install gdb 4.wget  http://files.cnblogs.com/ma6174/vimrc.zip    unzip vimrc,zi...

2017-04-09 12:44:57

阅读数 152

评论数 0

虚表(探讨多态的原理)菱形虚拟继承

多态(Polymorphism)按字面的意思就是"多种状态"。在面向对象语言中,接口的多种不同的实现方式即为多态。引用Charlie Calverts对多态的描述--多态性是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子...

2017-02-16 00:32:31

阅读数 138

评论数 0

研究虚表(探索多态的原理)和菱形虚拟继承

多态——  一个接口 多种形态, 编译器在执行过程中遇到virtual关键字的时候,将自动安装动态联编需要的机制,首先为这些包含virtual函数的类(注意不是类的实例)--即使是祖先类包含虚函数而本身没有--建立一张虚拟函数表VTABLE。在这些虚拟函数表中,编译器将依次按照函数声明次序放置...

2017-02-15 21:38:15

阅读数 204

评论数 0

编译链接的整个过程

预编译  1:将所有的#define删除,并展开所有的宏定义;  2:处理所有的预编译指令,例如:#if,#elif,#else,#endif;  3:处理#include预编译指令,将被包含的文件插入到预编译指令的位置;  4:添加行号信息文件名信息,便于调试;  5:删除所有的注释:...

2016-10-19 15:24:10

阅读数 113

评论数 0

关于宏的一些问题

1.预定义标识符 __FILE__ 正在编译的文件的名字 __LINE__ 正在编译的文件的行号 __DATE__ 编译时刻的日期字符串 __TIME__ 编译时刻的时间字符串 2.宏和函数的区别            1.宏会在编译器在对源代码进行编译的时候进行简单...

2016-10-19 15:20:29

阅读数 86

评论数 0

剑啸江湖

同胞们 别着急 多读书多看报少吃零食多睡觉 成功秘诀哦推荐二首歌给大家--- high点的 ----剑啸江湖 粤语的---------爱的故事上集 #include #include #include int main() { ...

2016-09-24 18:02:06

阅读数 110

评论数 0

如何判断一个未知数据类型的数为0

只要这个数小于参考数据类型的最小正值、且大于最大负值,(num 最大负值 )  那么这个数就为0了。 比如 int型,int型数的最大负数是:-1,最小正数是:+1,只要  (num >-1 && num 比如floa或double:最大负数是:-0.000001 最小正...

2016-09-22 21:33:00

阅读数 576

评论数 0

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