摘要: 线程 1.1什么是线程? 在一个程序中的多个执行路线就叫做线程(thread)。更准确的定义是:线程是一个进程内部的一个控制序列。 要搞清楚fork系统调用和创建新线程之间的区别。当进程执行fork调用时,将创建出该进程的一份新的副本。这个新进程拥有自己的变量和自己的PID,它的时间调度也是独立的, 阅读全文
posted @ 2017-02-26 12:01 逍的遥 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 信号 信号是Unix和Linux系统响应某些条件而产生的一个条件。接收到该信号的进程会相应的采取一些行动。 信号是由于某些错误条件而生成的,如内存冲突,浮点处理器错误或非法指令等。它们由shell和终端处理器生成来引起中断,他们还可以作为在进程间传递消息的或修改行为的一种方式, 明确地由一个进程发送 阅读全文
posted @ 2017-02-25 23:00 逍的遥 阅读(453) 评论(0) 推荐(0) 编辑
摘要: 已打开的文件描述符在fork和exec调用后保留下来,我们可以利用对进程这方面知识点的理解来改变程序的行为。 这个例子涉及一个过滤程序:它从标准输入读取数据,然后向标准输出写数据,同时在输入和输出之间对数据做些有用的转换。 过滤程序upper.c upper.c执行效果: 如果我们利用shell从定 阅读全文
posted @ 2017-02-24 22:43 逍的遥 阅读(486) 评论(0) 推荐(0) 编辑
摘要: http://c.biancheng.net/cpp/html/2848.html 阅读全文
posted @ 2017-02-23 22:29 逍的遥 阅读(485) 评论(0) 推荐(0) 编辑
摘要: 主要参考http://www.cnblogs.com/scrat/archive/2012/09/12/2682626.html 主要思路如下: 通过 FindWindow() FindWindowEx()函数获得窗口句柄,通过SendMessage获得具体值。具体函数方法请自行百度。 FindWi 阅读全文
posted @ 2017-02-20 22:58 逍的遥 阅读(2038) 评论(2) 推荐(0) 编辑
摘要: 复制进程映像 fork() 要想让进程同时执行多个函数,我们可以使用线程或从源程序中创建一个完全分离的进程,后者就像init的做法一样,而不像exec调用那样用新程序替换当前指向的线程。 我们可以通过调用fork创建一个新进程。这个系统调用复制当前进程,在进程表中创建一个新的表项,新表项中许多属性和 阅读全文
posted @ 2017-02-12 13:18 逍的遥 阅读(360) 评论(0) 推荐(0) 编辑
摘要: 在Linux中,在一个程序的内部启动另外一个程序,从而创建一个新进程。 1.这个工作可以通过库函数system来完成。 #include<stdlib.h> int system (const char *string); system函数的作用是,运行以字符串参数形式的传递给他打命令并等待该命令完 阅读全文
posted @ 2017-02-12 10:45 逍的遥 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 转载自 http://www.cnblogs.com/ggjucheng/archive/2011/12/14/2287738.html 1简介 GCC 的意思也只是 GNU C Compiler 而已。经过了这么多年的发展,GCC 已经不仅仅能支持 C 语言;它现在还支持 Ada 语言、C++ 语 阅读全文
posted @ 2016-09-07 20:53 逍的遥 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 约瑟夫环运作如下: 1、一群人围在一起坐成环状(如:人数N) 2、从某个编号开始报数(如:K 默认1) 3、数到某个数(如:M)的时候,此人出列,下一个人重新报数 4、一直循环,直到所有人出列,约瑟夫环结束。 #include<stdio.h> #include<malloc.h>//链表节点结构 阅读全文
posted @ 2016-09-07 20:50 逍的遥 阅读(338) 评论(0) 推荐(0) 编辑
摘要: 在一棵二叉树总,前序遍历结果为:ABDGCEFH,中序遍历结果为:DGBAECHF,求后序遍历结果。 我们知道: 前序遍历方式为:根节点->左子树->右子树 中序遍历方式为:左子树->根节点->右子树 后序遍历方式为:左子树->右子树->根节点 从这里可以看出,前序遍历的第一个值就是根节点,然后再中 阅读全文
posted @ 2016-04-18 16:12 逍的遥 阅读(5702) 评论(0) 推荐(1) 编辑