解决amule脱机下载问题
新买的廉价路由器,可以脱机下载,但只内置了bt,没有内置amule。先自己装了amule,router上的falsh太小,装不下那么多软件,就装到移动硬盘上,格式化成ext3。 继续阅读
新买的廉价路由器,可以脱机下载,但只内置了bt,没有内置amule。先自己装了amule,router上的falsh太小,装不下那么多软件,就装到移动硬盘上,格式化成ext3。 继续阅读
read/ReadFile 系统调用默认有预读
write/WriteFile 默认是异步写
mmap 使用缺页中断,实现预读/异步写比较困难
aio 对磁盘调度做特殊优化,在随机访问较多时,理论上性能最好(如果操作系统真正实现了aio) 继续阅读
本文来源: http://www.zhihu.com/question/22818104
见到这个随机数生成算法好几次了,乍看有点鸡肋本来用Math.random()就可以的事。想不清楚为什么他要用9301,49297,233280这三个数字? 继续阅读
下面这段代码有啥错误?
1 2 3 4 5 6 7 |
#if ULONG_MAX == 0xFFFFFFFF inline unsigned long byte_swap(unsigned long x) { return __builtin_bswap32(x); } inline long byte_swap(long x) { return __builtin_bswap32(x); } #else inline unsigned long byte_swap(unsigned long x) { return __builtin_bswap64(x); } inline long byte_swap(long x) { return __builtin_bswap64(x); } #endif // ULONG_MAX |
当 ULONG_MAX 未定义时,被判断为假!多么危险的一个陷阱!
增加以下验证即可查错:
1 2 3 4 5 6 7 8 9 |
#ifdef ULONG_MAX # if ULONG_MAX != 0xFFFFFFFFul # if ULONG_MAX != 0xFFFFFFFFFFFFFFFFul # error "ULONG_MAX error" is ULONG_MAX # endif # endif #else # error "ULONG_MAX is not defined" #endif |
这个 bug 耗费了我两个小时!
ubuntu+gcc4.3 ,尝试修改 google.sparsetable 中的 sparsegroup,修改完成,不启用 -mpopcnt,sparsetable_unittest 和 hashtable_unittest 都通过了。启用-mpopcnt以后,发现硬件不支持,报非法指令错误,公司的电脑太烂了! 继续阅读
sparsegroup 是 google.sparseXXXX (sparsehashmap)系列中最底层的一个数据结构,sparseXXX 的互相依赖如下: 继续阅读
与现有的一些“标准”实现不同,sparsehashtable 使用二次探测法,而不是链接,来解决hash冲突。sparsetable 就更奇特了,它是一个两级结构,第一级使用直接索引法,而第二级使用的是顺序查找。
继续阅读