自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 多进程编程

多进程之间的通讯1.管道创建管道的系统调用pipe,管道也是父进程和子进程间通讯的常用手段。管道能在父、子进程间传递数据,利用的是fork调用之后两个管道文件描述符(fd[0]和fd[1])都保持打开。一对这样的文件描述符只能保证父子进程间一个方向的数据传输,父进程和子进程必须有一个关闭fd[0],另一个关闭fd[1]。比如,我们要使用管道实现从父进程向子进程写数据。 显然,如...

2019-04-28 23:25:54 104

原创 高性能服务框架Libevent(2)

1.event结构体上次提到了Libevent中的事件处理器是event结构体类型。下面介绍Libevent中的各种结构体。event结构体的成员:ev_events。它代表是事件类型event_next。所有已注册的事件处理器通过该成员串联成一个尾队列,我们称之为注册事件队列。ev_active_next。所有被激活的事件处理器通过该成员串联成一个尾队列,称之为活动事件队列...

2019-04-24 11:11:48 1015

原创 Linux多进程编程(1)

Linux多进程编程包括以下内容:1.复制进程的映像的fork的系统调用以及替换进程映像的exec系列系统调用。2.僵尸进程和如何避免僵尸进程3.3种System V进程间通讯方式:信号量、消息队列和共享内存。4.在进程间传递文件描述符的通用方法:通过UNIX本地域socket传递特殊的辅助信息1.fork系统调用Linux下创建新进程的系统调用是fork。其定义是...

2019-04-23 16:02:02 148

原创 高性能服务框架Libevent(1)

Libevent是开源社区一款高性能的I/O框架库。作为一个I/O框架库,Libevent具有以下特点:1.跨平台支持:Libevent支持Linux支持windows。2.统一事件源:Libevent对I/O事件、信号和定时事件提供统一的处理3.线程安全:Libevent使用Libevent_pthreads库来提供线程安全4.Libevent基于reactor模式的实现。下面...

2019-04-21 21:42:47 232

原创 C++和C的区别二

1.c和c++函数互相调用之前也说了,c和c++的函数生成符号不一样,那么c++和c在互相调用对方函数的时候就会出错,因为根本无法找到对应的符号。而由于c++是基于c语言而来,肯定会想到兼容性的问题,因此如果c++想要使用c的函数,c++会有特殊处理,可以把函数符号转化成c的不带参数的形式,只用在c++文件里这样  Extern ”C”{ Int sum(int ,int )...

2018-11-28 16:49:46 140

原创 C和C++的区别第一部分

1.C++可以给函数默认值C++在定义时可以给函数默认值1.int sum(int a,int b=10){return a+b;}在调用sum 函数时不给参数b的值系统会默认b的值为10;2.C++在给函数默认值时是从左至右如int sum(int a=1,int b,int c)int sum(int a=1,int b,int c)是错的。因为系统会产生...

2018-11-18 10:37:43 536

原创 从编译到可运行文件

我们的平时写的代码是经过怎样的过成变成让计算机可执行的文件。下面我给出了一个大致的流程:源代码经过预编译,编译,汇编,链接过程到可执行的exe文件。其实我们的代码就产生了两种东西,一种是数据一种是指令。数据和指令可定不能杂乱的放在一起,系统会将我们的数据和指令进行分区,那具体的划分区域是什么和划分的根据?程序跑起来后,不会直接把数据直接搞到物理内存上,因为操作系统要屏蔽底层的差...

2018-11-18 09:47:44 374

原创 内存分区

先将内存区域进行划分包括:代码段,全局变量区,栈,堆。接下来让我们看看一些常见的内容分别位于哪个区域内,并对其生命周期、作用域、默认值、链接属性进行总结:一.全局变量区:定义在函数外部的变量位置:  函数外部生命周期:从程序运行开始到程序销毁为止。作用域:从定义该变量开始到文件结束为止。默认值:0内存区域:全局静态变量区 全局变量可以在其他的源文件中使用,例...

2018-07-25 16:41:35 182

原创 二维数组

二维数组一般是这样定义的int arr[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};也可以这样定义int arr[][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};行可以省略不写系统会自动计算但列一定要写。二维数组可以当成特殊的一维数组来看二维数组arr是由三个一维数组组成,每个数组长度为4arr[1][2],arr[1]当作一维...

2018-04-30 22:27:13 678

原创 字符串常量和字符数组

一.字符串都是以"\0"结尾二.凡是双引号中的内容,皆是字符串。也就是,双引号会在它内容后自动加一个"\0"且占一个字节数。三.单引号中容纳的是char类型的字符常量,且仅能容纳一个四.字符数组中不指定长度,系统会自动匹配适应的长度。五.如果对字符数组没有初始化完全,系统会在未赋值的地方添加"\0"。char brr[10]={‘a',’b',‘c’}是字符串。六.能修改字符串常量的值七.定义字符...

2018-04-30 21:56:03 370

原创 const的使用

一.数据类型对const而言是透明的,const可以放在数据类型两侧,两者是等价的。const int a=100;int const a=100;是一样的。二.const用于封锁直接修饰的内容,并将该内容的属性改为只读如(1).1.int const *p1=&a;2.p1=&b;3.*p1=200;const直接修饰*p1,所以*p1不能作为左值存在即p1不能再解引用。语语句3...

2018-04-30 21:25:37 100

原创 指针与数组的关系及本质

首先解释一下为什吗arr[i]=*(arr+i).在c语言中数组名表示数组首元素地址,arr[i]是按照*(arr+i)处理的,即按照数组元素首地址加上相应的位移量找到新元素的地址,然后解引用,便得到此处的值。接下来我们定义一个整型指针 int *p=arr可见p和arr是等价的。那接下来的事就好办了p[i]=*(p+i)输出的全是5,也就是说明这4个式子等价所以arr[i]只是伪装,*(arr+...

2018-04-29 21:49:10 744

原创 指针运算

定义一个整形的指针*p指向整形数组arr,然后p++;这就有了疑问p++到底是加了什么?有以下几种猜想1、加了整个数组长度?2、加了一个字节长度?3、加了4个字节长度?1.第一个猜想明显是错的如果给p加一个整个数组的长度,p就会从数组前端跳到末尾这样毫无意义的。2.整型数组中,每个元素需要4个字节来保存3.很显然每次p++是加一格数组长度以下这个程序来验证总结:指针与数字间的加法,需要进行调整,其...

2018-04-29 17:44:26 218

原创 形参与实参

这个程序看似把a,b的值互换了实则没有,形参没办法改变实参的值;a还是=1,b还是2.父函数调用子函数形参变量只在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元只有用指针才能改变主函数的值1.传指针。直接将实参的地址进行传递。2.解引用。通过对指针解引用,去修改其中的值。但是当对置空的指针解引用则会引起程序崩溃但是下面这个程序却没崩溃因为实参与形参地址不同,所以形参的改变并不会对实...

2018-04-08 13:55:52 199

原创 指针入门

int a=1;int b=2;int c=3;int *p;//定义了p指针为整型变量,只能保存整型的地址p=&a;//这里p指针指向了a的地址*p=100/*是间接访问符起解引用修改了a的值p=&b;//改变指针p的指向p指向b的地址保存b的地址*p=200;//解引用修改b的值int **p1=&p//定义了一个二级指针p1,p1指向p,其保存的值必须是同类型的一级指...

2018-04-08 13:14:02 107

原创 正序逆序输出n位数

1.给出一个不多于5位数的正整数,要求,第一是求出它是第多少位的,逆序打印出各位数字。#include<stdio.h>int main(){ int x; int y; scanf("%d",&x); int i; int n=0; do{ y=x%10; x=x/10; printf("%d",y); n=n+1; }while(x!=0); printf("%...

2018-03-30 10:52:54 513

空空如也

空空如也

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

TA关注的人

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