- 博客(16)
- 收藏
- 关注
转载 sizeof与strlen的区别
char str[20]="0123456789"; int a=strlen(str); /*a=10;strlen 计算字符串的长度,以\0'为字符串结束标记。 int b=sizeof(str); /*b=20;sizeof 计算的则是分配的数组str[20] 所占的内存空间的大小,不受里面存储的内容影响==================================
2017-10-18 14:22:49
183
转载 C++四种强制类型转换符
reinterpret_cast reinterpret_cast是C++里的强制类型转换符。 操作符修改了操作数类型,但仅仅是重新解释了给出的对象的比特模型而没有进行二进制转换。 例如:int *n= new int ; double *d=reinterpret_cast (n); 在进行计算以后, d 包含无用值. 这是因为 reinterpret_cast
2017-10-18 13:24:38
575
转载 线程正常终止pthread_exit,pthread_join,pthread_kill,pthread_cancel,sigwait,sigaddset
int pthread_join(pthread_t thread, void **retval);int pthread_detach(pthread_t thread);void pthread_exit(void *retval); 线程正常终止的方法:1、return从线程函数返回。2、通过调用函数pthread_exit使线程退出3
2017-09-28 09:29:55
762
转载 C++虚函数的实现机制
C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。关于虚函数的使用方法,我在这里不做过多的
2017-09-12 14:47:50
248
转载 CGI environment variables
Before running a CGI application or interpreter, Abyss Web Server sets its environment variables in conformity with the CGI/1.1 specification (as described in http://hoohoo.ncsa.uiuc.edu/cgi) and ad
2017-09-05 13:32:00
498
转载 Getting Request URI and Content in C++ FCGI
Previously I had mentioned how to create a simple hello world application in c++ with fcgi. However this simple application doesn’t allow for any inputs. This post we’ll show how retrieve the reques
2017-09-04 14:40:22
244
转载 clock()、time()、clock_gettime()和gettimeofday()函数的用法和区别
转自http://blog.sina.com.cn/s/blog_790f5ae10100rwd3.html 一)ANSI clock函数 1)概述:clock 函数的返回值类型是clock_t,它除以CLOCKS_PER_SEC来得出时间,一般用两次clock函数来计算进程自身运行的时间.ANSI clock有三个问题:1)如果超过一个小时,将要导致溢
2017-08-28 18:29:02
1408
转载 STL的erase()陷阱-迭代器失效总结
阅读目录(Content)1.list,set,map容器1.1 正确写法11.2 正确写法21.3 错误写法11.4 错误写法21.5 分析2. vector,deque容器2.1 正确写法2.2 注意3.迭代器失效的情况3.1 vector3.2 deque3.3 list3.4 slist3.5 stack3.6 queue3.7 priority_q
2017-08-26 18:02:49
176
转载 C++中vector使用详细说明
1. 在C++中的详细说明vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。2. 使用vector,必须在你的头文件中包含下面的代码: #include
2017-08-25 13:44:08
259
转载 一篇文章,教你学会Git
在日常工作中,经常会用到Git操作。但是对于新人来讲,刚上来对Git很陌生,操作起来也很懵逼。本篇文章主要针对刚开始接触Git的新人,理解Git的基本原理,掌握常用的一些命令。一、Git工作流程以上包括一些简单而常用的命令,但是先不关心这些,先来了解下面这4个专有名词。Workspace:工作区Index / Stage:暂存区Repository:仓库
2017-08-25 09:12:57
222
转载 C++中 线程函数为静态函数 及 类成员函数作为回调函数
线程函数为静态函数: 线程控制函数和是不是静态函数没关系,静态函数是在构造中分配的地址空间,只有在析构时才释放也就是全局的东西,不管线程是否运行,静态函数的地址是不变的,并不在线程堆栈中static只是起了一个装饰的作用,所以二者并没有必然的关系 线程也是一种资源,是受系统调度的。因此,你必须要让系统知道你的线程的起始位置,即线程函数的指针。Window系统的接口(API)是C
2017-08-22 15:11:23
368
转载 inline用法详解
(一)inline函数(摘自C++ Primer的第三版) 在函数声明或定义中函数返回类型前加上关键字inline即把min()指定为内联。 inline int min(int first, int secend) {/****/}; inline函数对编译器而言必须是可见的,以便它能够在调用点内展开该函数。与非inline函数不同的是,
2017-08-22 14:35:01
484
转载 static函数与普通函数
全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序, 当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。 而静态全局变量则限制了其作用域, 即只在定义该变量的源文件内有效, 在同一源程序的其它源文件中不
2017-08-22 14:25:15
172
转载 Epoll在LT和ET模式下的读写方式
在一个非阻塞的socket上调用read/write函数, 返回EAGAIN或者EWOULDBLOCK(注: EAGAIN就是EWOULDBLOCK)从字面上看, 意思是:EAGAIN: 再试一次,EWOULDBLOCK: 如果这是一个阻塞socket, 操作将被block,perror输出: Resource temporarily unavailable总结:这个错误表示资源暂
2017-08-22 13:50:49
245
转载 epoll使用详解(精髓)
epoll - I/O event notification facility在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且
2017-08-22 13:19:06
257
转载 细谈select函数(C语言)
版权声明:本文为博主原创文章,未经博主允许不得转载。 Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻
2017-08-22 13:15:52
270
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人