码迷,mamicode.com
首页 >  
搜索关键字:linux程序    ( 722个结果
linux程序设计——使用FIFO的客户/服务器的应用程序(第十三章)
13.6.2    使用FIFO的客户/服务器应用程序 作为学习FIFO的最后一部分内容,现在考虑怎样通过命名管道来编写一个非常简答的客户/服务器应用程序。用一个服务器进程来接受请求,对它们进行处理,最后把结果数据返回给发送请求的一方:客户。 如果想要允许多个客户进行都可以向服务器发送数据,假设被处理的数据可以被拆分为一个个数据块,每个的长度都小于PIPE_BUF字节。 因为服务器每次只能处...
分类:系统相关   时间:2015-07-16 09:49:59    阅读次数:193
linux程序设计——对FIFO进行读写操作(第十三章)
4.对FIFO进行读写操作 使用O_NONBLOCK模式会影响的对FIFO的read和write调用. 对一个空的,阻塞的FIFO(即没有用O_NONBLOCK标志打开)的read调用将等待,直到有数据可以读时才继续执行.与此相反,对一个空的,非阻塞的FIFO的read调用将立刻返回0字节. 对一个完全阻塞的FIFO的write调用将等待,直到数据可以写入时才继续执行.如果非阻塞的FIFO不...
分类:系统相关   时间:2015-07-15 09:33:43    阅读次数:256
gdb在执行maintenance info program-spaces命令时coredump
coredump时的信息: (gdb) maintenance info program-spaces *** Error in `gdb': free(): invalid pointer: 0x0000000003c6bcf0 *** ======= Backtrace: ========= /lib64/libc.so.6(+0x7d1fd)[0x7fc875c0d1fd] gdb(fi...
分类:数据库   时间:2015-07-14 17:54:45    阅读次数:262
《coredump问题原理探究》Linux x86版7.9节list相关的iterator对象
这一节,看一下list的iterator对象在内存的布局 1 #include 2 3 void init( std::list& lst ) 4 { 5 for ( int i = 0; i < 0x10; i++ ) 6 { 7 lst.push_back( i ); 8 } 9 } 10 11 int get...
分类:系统相关   时间:2015-07-14 00:09:49    阅读次数:207
linux程序设计——父进程和子进程(第十三章)
13.5    父进程和子进程 在接下来的对pipe调用的研究中,将学习如何在子进程中运行一个与父进程完全不同的另外一个程序,而不是仅仅运行一个相同程序.使用exec调用来完成这一项工作.这里的一个难点是,通过exec调用的进程需要知道应该访问哪个文件描述符.在前面的例子中,因为子进程本身有file_pipes数据的一份副本(点击打开"fork复制进程映像"链接),所以这并不成为问题.但经过ex...
分类:系统相关   时间:2015-07-12 09:41:58    阅读次数:169
linux程序设计——pipe调用在两进程之间通信(第十三章)
13.4    pipe调用 在看过高级的popen函数之后,再来看看底层的pipe函数.通过这个函数在两个程序之间传递数据不需要启动一个shell来解释请求的命令.它同时提供了对读写数据的更多控制. pipe函数的原型如下所示: #include int pipe(int file_descriptor[2]);参数:是一个由两个整数类型的文件描述符组成的数组. 返回值:该函数在数组中...
分类:系统相关   时间:2015-07-11 09:20:14    阅读次数:287
linux程序设计——管道输出数据到popen(第十三章)
13.3    将输出送往popen 看过捕获外部程序输出的例子后,再来看一个将输出发送到外部程序的示例程序popen2.c,它将数据通过管道送到另一个程序.在这里使用的是od(八进制)命令. 编写程序popen2.c,它非常类似popen1.c,唯一的不同是这个程序将数据写入管道,而不是从管道中读取. /*******************************************...
分类:系统相关   时间:2015-07-10 09:37:43    阅读次数:200
linux程序设计——如何实现popen(第十三章)
13.3.2    如何实现popen 请求popen调用运行一个程序时,它首先启动shell,即系统中的sh命令,然后将command字符串作为一个参数传递给它,这有两个效果,一个好,一个不好. 在linux中,所有的参数扩展都是由shell来完成的.所以,在启动程序之前先启动shell来分析命令字符串,就可以使各种shell扩展(如*.c所指的是哪些文件)在程序启动之前就全部完成.这个功能...
分类:系统相关   时间:2015-07-10 09:37:35    阅读次数:196
《coredump问题原理探究》Linux x86版7.8节vector相关的iterator对象
在前面看过了一个vectorcoredump的例子,接触了vector的iterator,可以知道vector的iterator只有一个成员_M_current指向vector某一个元素. 先看一个例子: 1 #include 2 3 void init( std::vector& vec ) 4 { 5 for ( int i = 0; i < 0x10; i++...
分类:系统相关   时间:2015-07-09 21:33:23    阅读次数:154
linux程序设计——多线程(第十二章)
12.8    多线程 之前,总是让程序的主线程仅仅创建一个线程,这节将演示如何在同一个程序中创建多个线程,然后如何以不同于其启动顺序将它们合并在一起。此外,还演示多线程编程时容易出现的时序问题. 编写程序thread8.c /************************************************************************* > File N...
分类:编程语言   时间:2015-07-07 22:52:38    阅读次数:169
722条   上一页 1 ... 44 45 46 47 48 ... 73 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!