自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Fireplusplus的博客

逆水行舟

  • 博客(14)
  • 收藏
  • 关注

原创 LInux目录与文件权限

首先,进入一个目录需要什么权限?在当前目录下穿件一个权限为000的目录dir用于测试:          当然现在肯定进不去,提示权限不够:          预计进入目录需要执行权限,加个x试试!          OK!一次成功,对于目录来说进入就是执行的意思。在目录里边touch一个file用来测试:          尴尬了,没有创建文件的权限,

2016-08-30 13:50:53 326

原创 进程间通信之消息队列

何为消息队列消息队列提供了一种从一个进程向另一个进程发送一个数据块的方法。每个数据块都被认为是有一个类型,接收者进程接收的数据块可以有不同的类型值。我们可以通过发送消息来避免命名管道的同步和阻塞问题。消息队列与管道不同的是,消息队列是基于消息的,而管道是基于字节流的,且消息队列的读取不一定是先入先出。消息队列与命名管道有一样的不足,就是每个消息的最大长度是有上限的(MSGMAX),每个消息队列

2016-08-29 16:21:59 840

原创 进程间通信之管道篇

何为进程间通信每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都是看不到的。所以进程之间如果要交换数据就必须通过内核。在内核中开辟一块缓冲区,进程1把数据从用户空间拷到内核缓冲区,进程2再从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信(IPC,InterProcess Communication)。        进程间通信的本质,就是要让不

2016-08-28 14:22:55 1609 1

原创 进程程序替换

进程程序替换用fork创建子进程后执行的是和父进程相同的程序(但有可能执行不同的代码分支),子进程往要调用一种exec函数以执行另一个程序。当进程调用一种exec函数时,该进程的用户空间代码和数据完全被新程序替换(也仅仅替换代码和数据,其它不变),从新程序的启动例程开始执行。调用exec并不创建新进程,所以调用exec前后该进程的id并未改变。其实有六种以exec开头的函数,统称exe

2016-08-28 13:39:31 622

原创 进程等待

为什么需要进程等待?一个进程在终止时会关闭所有文件描述符,释放在用户空间分配的内存,但它的PCB还保留着,内核在其中保存了一些信息:如果是正常终止则保存着退出状态,如果是异常终止则保存着导致该进程终止的信号是哪个。这个进程的父进程可以调用wait或者waitpid获取这些信息,然后彻底清除掉这个进程,当它终止是Shell调用wait或waitpid得到它的退出状态同时彻底清除掉这个进程。当

2016-08-28 13:15:12 1033

原创 C语言 FILE结构体

C语言的stdio.h头文件中,定义了用于文件操作的结构体FILE。这样,我们通过fopen返回一个文件指针(指向FILE结构体的指针)来进行文件操作。#ifndef _FILE_DEFINEDstruct _iobuf {    char *_ptr; //文件输入的下一个位置    int _cnt; //当前缓冲区的相对位置    char *_base; //指基础位置(即是

2016-08-27 15:16:23 2437

原创 vfork死循环问题

关于vfork函数的一个问题。#include #include #include #include int main(){ int g_val = 100; pid_t id = vfork(); if (id == 0) { g_val++; printf("child runing first...%d:%p\n", g_val, &g_val); sle

2016-08-27 14:58:45 1012

原创 拜访-美团校招原题

题目描述现在有一个城市销售经理,需要从公司出发,去拜访市内的商家,已知他的位置以及商家的位置,但是由于城市道路交通的原因,他只能在左右中选择一个方向,在上下中选择一个方向,现在问他有多少种方案到达商家地址。给定一个地图map及它的长宽n和m,其中1代表经理位置,2代表商家位置,-1代表不能经过的地区,0代表可以经过的地区,请返回方案数,保证一定存在合法路径。保证矩阵的长宽都小于等于10

2016-08-26 19:03:50 840

原创 进程内存印象

Linux下C程序生成主要由四个步骤组成:预编译、编译、汇编、链接。编译器gcc经过 预编译、编译、汇编3个步骤将源程序文件转换成目标文件。如果程序有多个目标文件或程序中使用了库函数,则编译器还需要将所有目标文件及所需的库文件链接起来,最后生成可执行程序。当程序执行时,操作系统将可执行程序复制到内存中,程序转为进程通常需要以下步骤:  *内核将程序读入内存,为程序分配内存空间;

2016-08-25 19:59:34 625

转载 HTTP协议详解(真的很经典)

转自:http://blog.csdn.net/gueter/archive/2007/03/08/1524447.aspxAuthor :Jeffrey引言HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1

2016-08-24 10:19:19 552

原创 哈希笔记

引言HashTable-散列表/哈希表,是根据关键字(key)而直接访问在内存存储位置的数据结构。 它通过一个关键值的函数将所需的数据映射到表中的位置来访问数据,这个映射函数叫做散列函数,存放记录的数组叫做散列表,也就是哈希表。构造哈希表的几种方法直接定址法取关键字的某个线性函数为散列地址,Hash(Key)= Key 或 Hash(Key)= A*Key + B,A、B为

2016-08-20 15:54:22 474

原创 风口的猪-中国牛市--笔试题

题目描述风口之下,猪都能飞。当今中国股市牛市,真可谓“错过等七年”。给你一个回顾历史的机会,已知一支股票连续n天的价格走势,以长度为n的整数数组表示,数组中第i个元素(prices[i])代表该股票第i天的股价。假设你一开始没有股票,但有至多两次买入1股而后卖出1股的机会,并且买入前一定要先保证手上没有股票。若两次交易机会都放弃,收益为0。设计算法,计算你能获得的最大收益。 输入数值范围:2

2016-08-18 14:03:18 477

原创 用C++实现文件压缩

乍一听,这个文件压缩的名字貌似是很高大上的,其实,在数据结构中学完Huffman树之后,就可以理解这个东西其实不是那么的高不可攀。文件压缩所谓文件压缩,其实就是将对应的字符编码转换为另一种占据字节数少的编码来进行存储。举个栗子:有一串文本:aaaabbbccd,其中单独将这串字符存放在文件中,它所占据的将会是至少10个字节(为什么说是至少,因为还有一些必要的文件信息要保存的说)。由

2016-08-15 00:28:43 21518 5

原创 I/O多路转接之select

什么是select?首先它是系统调用,系统提供它用来实现多路复用输入/输出模型。利用它可以让我们的程序来监视多个文件句柄。程序会停在select这里等待,直到被监视的文件句柄有一个或多个发生了状态改变。          参数nfds代表要监听的文件描述符的最大值加1。接下来三个参数分别表示要监听事件对应的文件描述符集:可读文件描述符的集合,可写文件描述符的集合及异常文件描述符的集

2016-08-01 21:38:21 380

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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