代码改变世界

随笔档案-2008年06月

DSP程序优化方法

2008-06-27 22:44 by htc开发, 222 阅读, 收藏,
摘要: 1、选择合适的算法和数据结构 选择一种合适的数据结构很重要,如果在一堆随机存放的数中使用了大量的插入和删除指令,那使用链表要快得多。数组与指针语句具有十分密切的关系,一般来说,指针比较灵活简洁,而数组则比较直观,容易理解。对于大部分的编译器,使用指针比使用数组生成的代码更短,执行效率更高。 在许多种情况下,可以用指针运算代替数组索引,这样做常常能产生又快又短的代码。与数组索引相比,指针一般能使代码速度更快,占用空间更少。使用多维数组时差异更明显。下面的代码作用是相同的,但是效率不一样。 数组索引指针运算 For(;;){p=array A=array[t++];for(;;){ a=*(p++ 阅读全文

MISRA 2004规则

2008-06-12 15:21 by htc开发, 315 阅读, 收藏,
摘要: Jerry整理出处:汽车工业软件可靠性联会最后更新时间:2005-7-20转载请注明:来自Sawin系统分析之窗MISRA (The Motor Industry Software Reliability Association 汽车工业软件可靠性联会) 是位于英国的一个跨国汽车工业协会,其成员包括了大部分欧美汽车生产商。其核心使命是为汽车工业提供服务和协助,帮助厂方开发安全的、高可靠性的嵌入式软件。这个组织最出名的成果是所谓的MISRA C Coding Standard,这一标准中包括了127条C语言编码标准,通常认为,如果能够完全遵守这些标准,则你的C代码是易读、可靠、可移植和易于维护的 阅读全文

(转)关于pipe()的详细解析

2008-06-10 09:17 by htc开发, 299 阅读, 收藏,
摘要: kevintz 2000.8.23 int pipe(int fd[2])函数在内核生成一个管道,如图。返回的 fd[0]描述符用于从管道读内容,fd[1]用于向管道写。 --------------------- fd[0]--------------------- 读的时候,如果管道没数据,读进程阻塞。如果写的时候管道满, 写进程阻塞。可以把fd[0], fd[1]设成是非阻塞,在上面的阻塞情形, 不再阻塞进程,立刻... 阅读全文