C/C++
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 · 3888 阅读 · 0 评论 -
关于linux下的随机数
在linux下取随机数,当然可以简单的用rand函数,不过要注意的是一定要设置好种子,否则伪随机数就会变成非常伪的随机数。设置种子,一般就用time函数返回当前时间即可。一般来讲,这样的做法基本上就可以了,因为虽然我们用的是随机数,但是由于种子不同,从上亿的数中去猜测我们的种子几乎是不可能的。但是如果我们的种子算法被知道了,那么显然就不行了。当然作为某些应用也无所谓,比如我们要在屏幕上随机的画原创 2008-04-07 15:24:00 · 12448 阅读 · 6 评论 -
linux下的实时定时器
上一篇文章介绍了rdtsc指令的精确计时,不过由于CPU的频率不能保证是固定的,所以这样的方式还是有限制。其实linux下还有一种高精度的定时器,那就是posix_timer。我记得以前看代码的时候CLOCK_REALTIME的定时器似乎用的就是rdtsc指令,不过现在不确定了,先放到一边。原理上来说,可以在变频的时候也使用rdtsc指令,因为CPU的频率我们也是知道的,变频的时候内核也是知道的。原创 2008-04-08 12:24:00 · 6758 阅读 · 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 · 1487 阅读 · 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 · 2087 阅读 · 0 评论