计算结构体成员的偏移量的宏
有这么一个宏
#define MY_DEFINE(structure, member) ((int) & ((structure *) 0 -> member))
因为是某笔试的选择题,我又不知道选项,所以纠结了很久。
后来知道了“偏移量”的概念,从而也明白了这是一个计算结构体成员的偏移量的宏。
首先
...
qmail qmailanalog 报错sort: open failed: +2
执行var/qmail/bin/qmailstats 的时候报错:
sort: open failed: +2: No such file or directory
sort: open failed: +2: No such file or directory
Google了会 找到了答案:
编辑/usr/local/qmailanalog/bin 下的 ...
crontab 任务调度 编辑 查看
编辑crontab
# crontab -u root -e
*/5 * * * * /home/root/zbb/aaa.sh
查看crontab
# crontab -u root -l
*/5 * * * * /home/mmroot/zbb/aaa.sh
作者主页: http://blog.sina.com.cn/xunyiqq
...
wget 默认文件名附加URL查询部分的去除
拿wget下文件,它总是把URL的查询部分(?q=test这种)附加到默认的文件名后,让人十分不爽。查了man手册,也Google过,结论是没有办法解决。虽说拿shell写个脚本在下载完之后把这种尾巴也不难,但总觉得应该从根本上解决问题。于是就hack源码了。
要改的地方其实很好找,在url.c的第1556行附近:
/* Append "?query"...
学习感悟
最近做事做着,倒是挺忙活的,但发现自己的基础是越来越生疏了。以前看过的东西,最近都没什么概念啦。也是这屁事做的没一点技术含量,用到的东西比较少。这些时间来的学习,感悟挺多的。学习需要技巧,IT技术行业的学习更需要技巧,信息量太大,更新太快!这里总结一些以后要注意的学习技巧。
1. 做事情应该有结构和流程框架的思维方式,就像写代码,不能一股脑儿的奔着目标功能去,要有结构...
QQ群邮件:美好生活路上的又一障碍
如果能够不用QQ,生活会变得美好。可现实是,我不仅不得不使用QQ,而且还得使用腾讯烂得要命的群邮件服务。
WebQQ不知从什么时候开始不再提示新(群)邮件了。由于我们课件什么的都只知道往群邮件里发,我只好每隔几天去查收一次,不然所谓的“超大附件”会过期的。
说起“超大附件”我觉得好笑。现在都什么年代了,我网易邮箱...
php数组排序
定义和用法
ksort(): 函数按照键名对数组排序,为数组值保留原来的键。
krsort(): 函数将数组按照键逆向排序,为数组值保留原来的键。
asort() :函数对数组进行排序并保持索引关系。主要用于对那些单元顺序很重要的结合数组进行排序。
语法
ksort(array,sorttype)
...
C语言结构体赋值相关
看UNPv1的时候,在第四章看到ipv6结构体的赋值,里面说到C语言的结构体变量无法直接赋值为该结构的常值结构,但是可以用变量赋值,并且如果是初始化的时候也是可以的,废话少说,还是上代码说的明白:
typedef struct A {
int a;
char b;
} A;
int main()
{
A...
数据流说
哥早就说过,程序和计算的本质,是让数据顺畅的流通和变换。
这点在写一个流媒体或者摄像头程序的时候会体会的很明显。
但是有了一些经历后就会发现其实所有的程序都不例外。
这是一个非常重要的角度,只是没个程序的侧重不同,随之而来的瓶颈也会不同。
有的程序侧重数据的传输,瓶颈会出在内存或者介质一层。
有的程序侧重数据的处理,瓶颈就会出现在cpu内部。
对于内核知识的了解和编译调试工具的了解
有了这些基础,怎样改进系统级调试和诊断的方法。
使用什么样的理念来改善这方面的工具创新,一直是个问题。
还有一个问题我想不起来了。。。。
貌似是,哥早就说过,对proc和内核自诊断系统的了解是至关重要的。
而且非常方便滴。
紧跟上
好,这就把oprofile的机制分析一下,重点在于其地址分析机制。
至于调试的方法,可以考虑写一段可以自己打印偏移,或绝对地址加基地址的代码。
嵌到中断处理函数里即可,主要是要查清现场的状况。
整个计算过程包括几点:内存image的分布,二进制文件的硬盘分布,二进制文件的装载。
PIC偏移地址到物理地址,再到虚拟地址的转换公式。
明白了这些你就可...
看来是地址的计算方法出了问题。。。
果然是最好的结果,虽然我觉得如果仅仅是地址算错了,那真是很容易猜到的问题了。
怕就怕不是简单的地址计算错误。。。这个还是比较难滴。
既然这样,那么对于xxx架构上的xxxprofile的bug初步诊断为地址计算错误。
如此,我就义无反顾了,杀进内核去看看。
搞定了日线数据
---- 新添了下载任务,来源是新浪财经,现在可以扒下来日线数据了
---- 过程中的几个要点:
1. Nested List Comprehension:
由分别为 m 项和 n 项的两个 list 生成一个 m×n 项的 list:
mylist= ['a', 'b', 'c...