摘要: pid_t pid = fork();1. fork 函数返回两次, 0 表示父进程,返回值为子进程ID; =0 表示子进程。[代码]2. 父进程必须要回收子进程,这时必须用wait/waitpid。不然当子进程结束后, 它会变成僵死进程。用 "ps -ef" 命令查看,可看到起状态为defunct。 所所以,在fork()之后,我们一般是执行: waitpid( pid, NULL, 0 ); 参数1: pid表示到等待的子进程ID 参数2: NULL表示对子进程的结束状态不在意。 参数3: 控制选项 [代码]3. 问题提出在调用waitpid后,父进程被阻塞,将不能执行其他的任务,这 阅读全文
posted @ 2011-01-20 22:47 linxr 阅读(704) 评论(0) 推荐(0) 编辑
摘要: 眼看就要过年了,下周一还得去北京。得等到过年才能回来,过完年还得去,真痛苦...最近猫身体不好,每天得吃中药,我走了得自己照顾自己了,真无奈...这周末要搬家了,新租个地方,得把东西都整理好才能走,真仓促...晚上还得去买西装,没穿过这玩意儿,更不知道怎么买了,真无语... 阅读全文
posted @ 2011-01-07 11:22 linxr 阅读(216) 评论(1) 推荐(0) 编辑
摘要: http://www.cnblogs.com/linxr/ 阅读全文
posted @ 2011-01-06 09:45 linxr 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 记录下CuteC接下来要做的改进设想:界面:1. 添加子窗体可拉动功能。2. 添加界面边框颜色配置。编辑框:1. 设计大长度行的显示方案,包括自动换行。2. 设计代码块高亮的显示方案。3. 添加大文件的UTF-8 UNICODE UNICODE-BE 编码的支持。4. 美化代码显示。 目标: a. {} [] () 匹配高亮。 b. 根据段落的设置,可以提供更高级的段落显示。比如 显示当前段落的边框和所属段落的边框,当前段落的颜色高亮。 c. 对段落的管理。抽取所有段落的标志,并且实现跳转。 d. 增加关键字/段落的属性:背景色、前景色、字体(大小、下划线、粗体)。 增加关键字的动作处理方式 阅读全文
posted @ 2011-01-01 23:09 linxr 阅读(566) 评论(0) 推荐(2) 编辑
摘要: CuteC是一款由个人完成的文本便笺器,但它可以做的不仅仅是编辑文本文件。长期以来,我尝试用过很多的编辑器,最终萌发了自己写一个文本编辑器的想法。虽然我觉得自己不能在很多方面做得比现在流行的编辑器好,但是,我想我能够写出一个很有特色的编辑器来。而本人长期用C语言工作,我在编辑器中嵌入了C的解释器,这也是开发这款软件至今让我值得骄傲的地方!所以,我把它叫做CuteC。 下载地址:CuteC 阅读全文
posted @ 2010-12-30 16:54 linxr 阅读(1341) 评论(8) 推荐(3) 编辑
摘要: 实现的目标是,让一个窗口永久的置于另一窗口的顶部,但是不能影响到别的程序的界面。 这种需求在很多情况下会遇到。比如,文本编辑器的查找替换窗口,如果是模态对话框的话,那么操作完成后必须关闭对话框,然后才能回到主界面进行编辑操作。但是,如果是非模态对话框,当回到主界面编辑的时候,这个对话框又会被覆盖。所以,要使用非模态对话框,又要使它在编辑界面的顶层。 为了解决这个问题,我尝试了很多方法。1. 最容易想到的就是SetWinodwPos函数的第二个参数,然而,当我创建窗口时,设置这个参数,结果没有作用,除非是HWND_TOPMOST,但是这不符合我的要求,因为这样会影响到别的程序。2. 在OnWin 阅读全文
posted @ 2010-12-20 15:36 linxr 阅读(2175) 评论(0) 推荐(0) 编辑
摘要: UML概述与详解地址:http://blog.csdn.net/longronglin/archive/2006/12/22/1454329.aspx作者:马如林 阅读全文
posted @ 2010-12-20 10:26 linxr 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 软件一般都要输出日志,方便排错和跟踪运行情况。所有日志文件的格式还是要美化点好,以免在查找关键信息时费时费力。所以日志函数要支持: 1、时间和地点。即什么时候哪个地方报的信息。 2、为了方便调用,必须支持多重格式的输出,所以使用printf的格式是最好的。下面就是我写的一个日志函数:调用方法:LOG_DEFAULT 把日志输出到默认的日志文件LOG_TOXFILE 把日志输出大指定的日志文件,如果参数是0,则日志打印到标准输出 阅读全文
posted @ 2010-11-12 14:57 linxr 阅读(1621) 评论(1) 推荐(2) 编辑
摘要: RSA算法描述:1) 选择两个大素数 p、q, 计算 n = p*q;2) 产生 e, d 使: e*d = 1mod(p-1)(q-1) e 与 (p-1)(q-1) 互质[公钥] e、n[私钥] d、n3) 加密: c = m^d mod n4) 解密: m = c^e mod n--------------------------------------------------------------------------------------libtommath是一个大数算法库。以下的代码是用这个库中的函数实现的,相当简单。#include <tommath.h>typ 阅读全文
posted @ 2010-11-10 17:30 linxr 阅读(3614) 评论(2) 推荐(0) 编辑
摘要: 转载地址:http://lists.canonical.org/pipermail/kragen-hacks/1999-October/000201.html The C grammar in K&R 2nd Ed is fairly simple, only about 5 pages. Here it is, translated to BNF. Here ( ) groups, ? m... 阅读全文
posted @ 2010-07-30 09:53 linxr 阅读(2069) 评论(0) 推荐(0) 编辑