Linux
x86
CSDN的第一任linux版主
展开
-
用rdrtc实现linux下的精确计时
在linux开发版最长问到的问题之一就是在linux下如何得到更精确的计时。其实有很多办法,比如以前就有人用select。不过现在有更精确的实时时钟可以用,这就是用CLOCK_PROCESS_CPUTIME_ID做参数通过timer_create来创建timer。通过clock_getres可以得到系统的精度。实际上,上述方法底层用的就是CPU的rdtsc指令。 在linux下,可以用到CPU原创 2008-04-01 11:23:00 · 3863 阅读 · 0 评论 -
关于linux下的随机数
在linux下取随机数,当然可以简单的用rand函数,不过要注意的是一定要设置好种子,否则伪随机数就会变成非常伪的随机数。设置种子,一般就用time函数返回当前时间即可。一般来讲,这样的做法基本上就可以了,因为虽然我们用的是随机数,但是由于种子不同,从上亿的数中去猜测我们的种子几乎是不可能的。但是如果我们的种子算法被知道了,那么显然就不行了。当然作为某些应用也无所谓,比如我们要在屏幕上随机的画原创 2008-04-07 15:24:00 · 12410 阅读 · 6 评论 -
怎样得到一个进程的全路径
一个进程的命令行保存在文件/proc/pid/cmdline中,参数之间是字节0分隔。下面的小程序举例说明如何去读这个文件。 #include iostream>#include fstream>int main(int argc, char* argv[]) ...{ if(argc != 2) ...{ printf("usage: %s pid ", argv[0]);原创 2008-04-08 13:57:00 · 1646 阅读 · 1 评论 -
linux下的实时定时器
上一篇文章介绍了rdtsc指令的精确计时,不过由于CPU的频率不能保证是固定的,所以这样的方式还是有限制。其实linux下还有一种高精度的定时器,那就是posix_timer。我记得以前看代码的时候CLOCK_REALTIME的定时器似乎用的就是rdtsc指令,不过现在不确定了,先放到一边。原理上来说,可以在变频的时候也使用rdtsc指令,因为CPU的频率我们也是知道的,变频的时候内核也是知道的。原创 2008-04-08 12:24:00 · 6715 阅读 · 0 评论 -
书评:Linux System Programming
原文地址:http://books.slashdot.org/article.pl?no_d2=1&sid=08/04/14/1415215作者:Jon Mitchell “本文略有节选(一般都是没把握翻的哈,呵呵,书评而已,没时间深究了)”“下载了电子版看了一下,没有想象中那么深入,也就懒得翻译了。本书评仅供参考。”"作为刚刚从Perl转到C的Linux开发人员,我一直在寻找一些翻译 2008-04-15 16:17:00 · 1462 阅读 · 0 评论 -
【转贴】清除指定squid缓存文件的脚本
原文:http://blog.s135.com/read.php/270.htm Squid web缓存加速软件目前已经是新浪、搜狐、网易等各大网站广泛应用。Squid会在设置的缓存目录下建立多个目录,每一个目录下又建立多个目录,然后才在最里层的目录中存放缓存文件(object)。squid会根据用户请求网页的URL进行哈希,生成缓存文件,存放在某一个目录中。squid启动之后,将在内存中建转载 2008-05-23 10:14:00 · 1171 阅读 · 0 评论 -
转贴:Linux Netlink Socket Example
#include #include #include #include #include #include #include #include #if 0//#define MYPROTO NETLINK_ARPD#define MYMGRP RTMGRP_NEIGH// if you want the above youll find that the kernel must be compi转载 2008-10-08 09:35:00 · 2072 阅读 · 0 评论 -
合并文件的一个小脚本
这个perl程序的功能是: 获取第一个参数所指文件的某些域(由第三个参数指定域),合并到第二个参数所指文件的“右侧”。例如: 1.tmp: 111 222 333 1 2 3 2.tmp: a b c aa bb cc 那么新文件的内容是(假设第三个参数是2,3,也就是复制第2和第3个域): a b c 222 333 aa bb cc 2 3 ---------------原创 2008-10-30 11:43:00 · 1528 阅读 · 4 评论 -
python学习日志(一)
Author:Alex Xiang(x86) Date: 03/19/2009 工作上的需要,需要写一些Python脚本,顺便把学习过程中的一些心得记下来以备查看。 1. python 三元操作 类似于C的x=a?:0:1,python的方式是:x=a and 0 or 1 2. 模块间共享变量 三个模块a,b,c,其中a和b都要用到c的变量 a: impo原创 2009-03-20 16:09:00 · 779 阅读 · 0 评论