自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Keep coding

Step by step

  • 博客(96)
  • 资源 (11)
  • 收藏
  • 关注

原创 I/O多路复用之select函数分析

转载前注明出处,欢迎转载分享如果一堆的client.c与server.c进行连接的话一定会产生很多的进程,也就是说每当来一个客户端请求,就会产生一个进程来服务,然而进程不可能无限制的产生,所以为了解决一对一占用资源的连接方式,引入了IO复用。即:一个进程可以同时对多个客户请求进行服务。I/O复用的适用如下:当客户处理多个文件句柄时必须使用。当一个客户同时处理多个套接口时,而这种情况

2017-04-18 10:06:33 811

原创 C/S架构的简单文件传输系统的实现

转载前注明出处欢迎转载分享实现代码github仓库地址:戳这里(https://github.com/chensguo8099/network_programming/tree/master/Serv_sendfiles_to_Client)课程要求:相关函数:(一)C/S即客户端(client)与服务器(server),简单文件传输系统的实现运用了网络编程中socket套接字等

2017-04-18 10:06:30 8200 3

原创 动态申请内存及相关补充

转载前注明出处 欢迎转载分享void*malloc(int size);对于malloc来说,如果不能分配空间,那么返回NULL,如果请求空间大小为0即malloc(0),则返回NULL或一个有效的指针。void*calloc(int n, int size);函数返回值为void型指针。如果执行成功,函数从堆获得size*n的字节空间,并返回该空间的首地址。若执行失败,函数返回

2017-04-18 10:06:27 577

原创 编译预处理

转载前注明出处,欢迎转载分享程序执行前程序执行前经历了:预处理器->编译器->汇编器->链接器 1)预处理过程:处理所有注释,以空格代替将所有#define删除,并展开所有宏定义处理条件编译指令#if,#ifdef,#elif,#else,#endif处理#include,展开被包含的文件保留编译器需要使用的#pragma指令预处理指令:1

2017-04-18 10:06:24 471

转载 关于Git的安装

原文地址:关于Git的安装作者:兴儿醉安装 Git是时候动手尝试下 Git了,不过得先安装好它。有许多种安装方式,主要分为两种,一种是通过编译源代码来安装;另一种是使用为特定平台预编译好的安装包。从源代码安装若是条件允许,从源代码安装有很多好处,至少可以安装最新的版本。Git的每个版本都在不断尝试改进用户体验,所以能通过源代码自己编译安装最新版本就再好不过了。有些 Linux版本自

2017-04-18 10:06:22 285

转载 gcc与g++的区别(转贴)

原文地址:gcc与g++的区别(转贴)作者:BigSam78Sam在上一篇帖子中提到:当使用xxx.c.并使用gcc编译时,会有重定义无法检测出来的现象。今天学习一下gcc与g++的区别。Sam之前在leadtek作嵌入式时,与Milong谈过gcc与g++的区别,曾认为gcc就是C方式编译,g++就是C++方式编译。现在才知道是不对的。误区一:gcc只能编译c代码,g++只能编译c+

2017-04-18 10:06:19 306

原创 Linux-Centos下的git配置使用

转载前注明出处,欢迎转载分享第一步:创建一个本地仓库1mkdir my_repository  //创建仓库进入该目录:1git init  //git的初始化 生成.git隐藏文件第二步:配置.git文件(以我自己的git为例)12git config --global use

2017-04-18 10:06:17 879

原创 C语言符号技巧总结

转载前注明出处,欢迎转载分享接续符:\可以作为接续符和转义符,当作为接续符(\)使用时:编译器会将反斜杠剔除,跟在反斜杠后面的字符自动解到前一行在接续单词时,反斜杠之后不能有空格,反斜杠的下一行之前也不能有空格接续符适合在定义宏代码块时使用来看如下代码: C Code 12345678910111213141516171

2017-04-18 10:06:14 411

原创 Centos安装gcc及g++

Centos支持yum安装,安装软件一般格式为yum install (file),注意安装时要先称为root用户。按照这个思路,我想安装过程如下:安装gcc:yum install gcc安装g++:yum install g++实际操作过程发现,只能有gcc安装成功,而g++安装失败,提示g++ command notfound。上网查了一下,正确安装应该是:yum insta

2017-04-18 10:06:11 1354

原创 结构体及柔性数组

转载前注明出处,欢迎转载分享结构体:大小:结构体的大小不是说结构体中的每个变量的数据类型之和就是结构体的大小,而是按照内存对齐的方式来计算的。123456789struct test{    char a;    int b;    char c;    char *d;    short e;    long long f

2017-04-18 10:06:09 1557

原创 const和volatile详解

转载前注明出处,欢迎转载分享const详解:const可以修饰变量,数组,指针,还可以修饰函数。const修饰变量:const修饰的变量为只读变量,不能给只读变量直接赋值(即const修饰的变量不能出现在等号左边),但是可以通过指针访问这一块内存区域然后间接修改该值。const修饰数组:C中const修饰的数组是只读的,const修饰的数组空间不可被改变(即数组内存放的值)。代码如

2017-04-18 10:06:06 1871

原创 数据类型及auto、static、register…

转载前注明出处,欢迎转载分享。说到C中的数据类型,大家都知道,int,short,char等等。数据类型可以理解为固定内存大小的别名。数据类型是创建变量的模子。就像做蛋糕一样,我们都会用一个模子去压蛋糕来让它得到期望的样子。那什么是变量?上图是内存图:当我们讨论某块内存区域存储的值时,我们不可能总是说2000到2002地址上存储的值是多少多少吧,鉴于如此麻烦的表述,于是我们为了方

2017-04-18 10:06:03 1983

原创 对C/C++内存分配的思考与总结

转载前注明出处,欢迎转载分享下图为操作系统内存地址空间图:在C/C++中通常可以把内存划分为:栈、堆、自由存储区、全局(静态)存储区、常量存储区一个C/C++编译的程序占用的内存分为以下部分:1.栈(stack):存储局部变量,函数参数,返回地址等。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指

2017-04-18 10:06:00 310

转载 新浪博客如何插入代码(其他…

原文地址:新浪博客如何插入代码(其他博客应该也可以)作者:ttang   首先,我没看到新浪博客有这个功能模块(像csdn,cnblog都是有插入代码的功能的)   然后,我就想找一个解决方案,找了很久,其一是发芽网http://fayaa.com/,但是反应很慢,打开一个网页要半天,不是我缺乏耐心,是它实在刷新不出来……(你可以试试打开这个链接,看能不能打得开http://fayaa.co

2017-04-18 10:05:57 2376

原创 浅析fork系统调用

转载前注明出处,欢迎转载分享fork函数Linux下创建新进程的系统调用是fork,其定义如下:#include < sys/types.h>#include < unistd.h>pid_t fork ( void );该函数每次调用返回两次,其中:在父进程中返回的是子进程的 PID在子进程中返回值是0fork函数调用失败则返回-1于是我们可以用pid = fork(

2017-04-18 10:05:51 532

原创 浅谈char类型的范围

在C语言中我们知道signedchar类型的大小范围是-128~127.signed char类型占了1个字节(=8位),我们知道有一种可以计算数据类型范围的公式是整型范围公式:-2^(n-1)~2^(n-1)- 1,那么signed char类型的范围就是-2^7~2^7-1.       同样的对于无符号unsigned char类型所表示的数值范围可用二进制表示换即为:0000 00

2017-04-18 10:05:45 2127

常用latex公式表

该latex介绍了常用的latex公式,我们在编辑论文或者在markdown中编辑笔记,使用latex对数学公式进行编辑非常的方便,也是研究生需要掌握的工具。

2020-10-22

google三剑客之谷歌文件系统

this file introduce the famous file system - google file system. 这篇论文介绍了谷歌的三剑客之一 谷歌文件系统 是值得研读 学习 和借鉴的好论文 适合那些正在学习文件系统的同学来扩充知识

2020-10-22

Python3.6.5标准库文档(完整中文版).pdf

python3.6.5标准库文档整合 中文版 你可以查询各种python3.6版本的系统函数或者库函数 可以查找到对应函数的具体功能 同时点击目录超链接可跳转至python官方网站查看更详细的英文文档

2020-10-22

git通俗易懂教程

史上最浅显易懂的Git教程! 为什么要编写这个教程?因为我在学习Git的过程中,买过书,也在网上Google了一堆Git相关的文章和教程,但令人失望的是,这些教程不是难得令人发指,就是简单得一笔带过,或者,只支离破碎地介绍Git的某几个命令,还有直接从Git手册粘贴帮助文档的,总之,初学者很难找到一个由浅入深,学完后能立刻上手的Git教程。既然号称史上最浅显易懂的Git教程,那这个教程有什么让你怦然心动的特点呢?首先,本教程绝对面向初学者,没有接触过版本控制概念的读者也可以轻松入门,不必担心起步难度;其次,本教程实用性超强,边学边练,一点也不觉得枯燥。而且,你所学的Git命令是“充分且必要”的,掌握了这些东西,你就可以通过Git轻松地完成你的工作。

2019-02-24

rapidjson-zh

rapidjson库的使用手册 RapidJSON 是一个 C++ 的 JSON 解析器及生成器。它的灵感来自 RapidXml。 RapidJSON 小而全。它同时支持 SAX 和 DOM 风格的 API。SAX 解析器只有约 500 行代码。 RapidJSON 快。它的性能可与 strlen() 相比。可支持 SSE2/SSE4.2 加速。 RapidJSON 独立。它不依赖于 BOOST 等外部库。它甚至不依赖于 STL。 RapidJSON 对内存友好。在大部分 32/64 位机器上,每个 JSON 值只占 16 字节(除字符串外)。它 预设使用一个快速的内存分配器,令分析器可以紧凑地分配内存。 RapidJSON 对 Unicode 友好。它支持 UTF-8、UTF-16、UTF-32 (大端序/小端序),并内部支持这些 编码的检测、校验及转码。例如,RapidJSON 可以在分析一个 UTF-8 文件至 DOM 时,把当中的 JSON 字符串转码至 UTF-16。它也支持代理对(surrogate pair)及 "\u0000" (空字符)。

2019-02-24

Linux高性能服务器编程.pdf

tcp/ip协议详解,深入理解高性能服务器编程,io函数及io复用讲解,信号,定时器,io框架库libevent,多进程编程,多线程编程,进程池线程池等等的讲解

2017-08-28

Linux命令手册

Linux命令大全,Linux命令及参数详细介绍。

2017-04-20

计算机网络-谢希仁第五版

讲述网络各层的特点及一些网络协议(比较详细,适合初学者)

2017-04-20

空空如也

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

TA关注的人

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