随笔分类 -  linux

摘要:在多线程编程中,常常需要从主线程传递参数给子线程或在主线程中获得子线程的计算结果,若使用全局变量实现,必然需要对临界区保护,因此导致大量的切换工作造成效率的低下;而利用进程间的参数传递可以解决这一问题。两个方向的参数传递:1.主线程向子线程传递参数:通过函数 int pthread_create(p... 阅读全文
posted @ 2014-06-15 17:48 xiaoluo91 阅读(491) 评论(0) 推荐(0)
摘要:Linux下有一个方便的c语言程序排版工具,只要选择恰当的参数,可以轻易地使自己的程序具有统一的风格。当然首先要安装indent,执行命令:apt-get install indentindent参数众多,可以自行查看man文档,下面是我个人使用的命令:indent -i2 -bli 0 -sob ... 阅读全文
posted @ 2014-06-14 20:05 xiaoluo91 阅读(169) 评论(0) 推荐(0)
摘要:编写程序(helloworld.c)并将其放到一个单独目录.helloworld.c:#includeint main(){ printf("hello world!\n"); return 0;}进入该目录,依次执行以下9步:1.新建Makefile.am,编辑内容为:bin_PROGRAMS=h... 阅读全文
posted @ 2014-06-02 23:27 xiaoluo91 阅读(135) 评论(0) 推荐(0)
摘要:proc为一个内核数据结构接口,用户空间和内核空间可以通过该接口通信,与普通文件不同的是,这些虚拟文件的内容都是动态创建的。proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过 proc得到系统的信息,并可以... 阅读全文
posted @ 2014-06-02 10:21 xiaoluo91 阅读(134) 评论(0) 推荐(0)
摘要:本程序实现在指定目录下递归查找无效的符号链接。1.设计思路逐个读取给定目录中的目录项,判断类型(1)若为目录,则读取该目录中的目录项并判断类型;(2)若为链接文件,则读取出其指向文件的名称(绝对/相对路径);若内容为绝对路径(以/开头),直接作为目标文件的路径;若内容为相对路径(不以/开头),将链接... 阅读全文
posted @ 2014-06-02 00:14 xiaoluo91 阅读(500) 评论(0) 推荐(0)
摘要:本程序实现从文件中随即选取一行,每行被选中的概率与改行长度成正比。程序用一次遍历,实现带权随机选取。算法:假设第i行权重wi(i=1...n).读取到文件第i行时,以概率wi/(w1+w2+...+wi)用该行替换上一轮被选中的行,直至读取文件结束。这样可以从数学上保证i行被选中的概率为wi/(w1... 阅读全文
posted @ 2014-06-02 00:11 xiaoluo91 阅读(219) 评论(0) 推荐(0)
摘要:此程序实现简化的linux中的tac命令。即对文件按行倒序输出。首先将文件指针置于文件尾,从后向前移动指针,将两个换行符'\n'间的内容作为一行输出。#include#include#include#include#include #include #define BUFSIZE 4096char ... 阅读全文
posted @ 2014-06-02 00:08 xiaoluo91 阅读(624) 评论(0) 推荐(0)
摘要:下面这个程序利用命名管道实现进程间通信,模拟石头剪刀布游戏。主进程为裁判进程,两个子进程为选手进程。裁判与选手间各建立一个命名管道。进行100次出招,最后给出游戏胜负。#include #include#include#include#include#include#include#include#... 阅读全文
posted @ 2014-06-01 22:50 xiaoluo91 阅读(1323) 评论(1) 推荐(0)