摘要: 源文:http://linux.chinaunix.net/techdoc/desktop/2008/09/19/1033263.shtml本节所用命令的帮助入口::help quickfix:help :make:help 'makeprg':help 'errorformat':help 'switchbuf':help location-list:help grep:help :vimgrep:help :grep:help starstar-wildcard以前读武侠小说,看到武林高手们都是从来剑不离手的。使用VIM开发软件项目,你也可以 阅读全文
posted @ 2013-03-10 16:20 摩斯电码 阅读(564) 评论(0) 推荐(0) 编辑
摘要: 功能:主线程创建一个副线程,然后主线程负责将键盘输入的内容写到buffer,然后通知副线程将数据打印,打印完后,副线程通知主线程继续从输入缓冲区中将读到的字符写到buffer数组。当输入quit命令时,主线程退出,副线程也会随着主线程的结束而自动结束。 #include <stdio.h>#include <pthread.h>#include <semaphore.h>#include <st... 阅读全文
posted @ 2013-03-10 10:34 摩斯电码 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 现在完成一个任务: writer.c完成将键盘输入的内容写到共享内存,然后通知由reader.c创建的进程,其负责将从共享内存中读到的数据输出到屏幕上,然后通知writer.c创建的进程继续将从缓冲区读到的内容写到共享内存。当输入quit时,两个进程同时退出。同时还应该完成的是,可以有多个读者,当发出退出命令后,全部退出。 流程图: writer.c #include <stdio.h>#inc... 阅读全文
posted @ 2013-03-10 10:33 摩斯电码 阅读(412) 评论(0) 推荐(0) 编辑
摘要: 请看下面的程序: 1: #include 2: #include 3: 4: int main(void) 5: { 6: char buffer[128]; 7: 8: while((fgets(buffer, 128, stdin) != NULL) && (buffer[0] != '\n')) 9: { 10: if(strncmp(buffer, "quit", 4) == 0) 11: { 12: break; 13: ... 阅读全文
posted @ 2013-03-10 10:32 摩斯电码 阅读(466) 评论(0) 推荐(0) 编辑
摘要: 摘自《linux程序设计 中文第四版》第94页。 阅读全文
posted @ 2013-03-10 10:31 摩斯电码 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 完成的功能:一个进程负责将键盘输入的内容写到共享内存,另一个进程负责将共享内存中的数据输出到屏幕上。两个进程通过pause和kill实现同步。首先运行的进程将自己的pid存到共享内存,然后pause,等待另一个进程将从共享内存中读到的pid保存,然后写入自己的pid后,被对方唤醒。最后,收到quit命令的进程负责删除共享内存。writeshm.c 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #incl... 阅读全文
posted @ 2013-03-10 10:30 摩斯电码 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 程序中的两种出错处理:第一种: 用fprintf 2: #include 3: #include 4: #include 5: 1: #include 6: int main(void) 7: { 8: FILE *fp; 9: 10: if((fp = fopen("1.c", "r")) == NULL) 11: { 12: fprintf(stderr, "fopen error! %s", strerror(errno)); 13: exit(-1)... 阅读全文
posted @ 2013-03-10 10:27 摩斯电码 阅读(637) 评论(0) 推荐(0) 编辑