
C++高级
bdwkyy
这个作者很懒,什么都没留下…
展开
-
linux多线程编程入门
转自:http://www.lupaworld.com/article-215772-1.html前言进程和线程有什么区别,各自的功能和优势是什么?还有多线程编程的一些细节问题,如线程之间怎样同步、互斥,这些东西将在本文中介绍。从一道面试题入手是否熟悉POSIX多线程编程技术?如熟悉,编写程序完成如下功能:1)有一int型全局变量g_Flag初始值为0;2)转载 2012-12-24 17:07:33 · 419 阅读 · 0 评论 -
简单了解I/O复用
当应用程序打开文件成功时,内核向应用程序返回一个fd,称之为文件描述符,那么应用程序通过文件描述符通过内核来访问这个文件,对文件进行I/O操作。那么有种场景是一个进程需要同时处理多个文件描述符,每个文件描述符对应一个I/O处理,那么进行需要知道那个I/O是否满足条件,或称之为准备好,例如某个fd已经准备准备好被读,某个fd已经准备好接收写入。没有IO复用之前,进程会堵塞在单个I/O操作上,但是有了转载 2012-12-17 15:25:07 · 401 阅读 · 0 评论 -
socket 阻塞与非阻塞 同步与异步
转自:http://blog.youkuaiyun.com/wxtsmart/article/details/2580538阻塞与非阻塞。所谓阻塞方式的意思是指, 当试图对该文件描述符进行读写时, 如果当时没有东西可读,或者暂时不可写, 程序就进入等待状态, 直到有东西可读或者可写为止。而对于非阻塞状态, 如果没有东西可读, 或者不可写, 读写函数马上返回, 而不会等待。缺省情况下, 三述符处于阻塞状态。转载 2012-12-17 15:53:43 · 411 阅读 · 0 评论 -
C/C++程序内存中数据存储区分类
转自:http://blog.youkuaiyun.com/southflow/article/details/5978724C/C++中,内存中数据存储分成4个区,分别是堆、栈、全局/静态存储区和常量存储区。 栈(stack),就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。 堆(heap),一般由程序员分配释放,转载 2012-12-17 15:50:34 · 568 阅读 · 0 评论 -
函数形参中省略号的用法(1)
转自:http://www.cnblogs.com/yinxiangpei/articles/2458989.htmlC++允许定义 形参个数和类型 不确定的函数。例如,C语言中的标准函数printf便使用这种机制。在声明不确定形参的函数时,形参部分可以使用省略号“…”代替。“…”告诉编译器,在函数调用时不检查形参类型是否与实参类型相同,也不检查参数个数。 例如:void Conn转载 2012-12-18 17:25:56 · 1247 阅读 · 0 评论 -
函数形参中省略号的用法(2)
转自:http://blog.163.com/ji_wei8888/blog/static/486804462011734415881/一、什么是可变参数 我们在C语言编程中有时会遇到一些参数个数可变的函数,例如printf()函数,其函数原型为: int printf( const char* format, ...); 它除了有一个参数format固定以外,后面跟的参数的个数和转载 2012-12-18 17:28:17 · 877 阅读 · 0 评论