上一页 1 2 3 4 5 6 7 ··· 9 下一页
摘要: 一、程序效率程序效率,是用执行的步骤(step)数――时间复杂度、占内存的多少来衡量的――空间复杂度。完成某项工作,执行的步骤(step)的次数最少、占用内存最小是程序员所追求的。特别是嵌入式系统的开发,内存等资源都是有限的。因此,提高效率的着眼点应该是减少执行次数减少占用空间二、效率改善的指导原则-满足正确性、可靠性、健壮性、可读性等质量因素的前提下,设法提高程序的效率;如果程序的正确性、可靠性得不到保证,提高效率就失去了根本;如果程序的健壮性得不到保证,提高效率就失去了目标;如果程序的可读性得不到保证,提高效率就失去了方向;-以提高程序的全局效率为主,提高局部效率为辅;如何只从局部角度出发 阅读全文
posted @ 2013-03-10 13:39 wust.zjf 阅读(1128) 评论(0) 推荐(1) 编辑
摘要: 我们使用top命令来查看CPU使用状况。top不会产生输出,屏幕内容保持不变。它刷新屏幕以显示新信息。因此,如果您只执行top并保持屏幕一直开启,则屏幕始终显示最新信息。退出top的命令为q,或者按下Ctrl-C.top - 17:03:45 up 58 days, 4:01, 1 user, load average: 0.00, 0.02, 0.00 Tasks: 172 total, 1 running, 171 sleeping, 0 stopped, 0 zombieCpu(s): 0.2% us, 0.1% sy, 0.0% ni, 99.7% id, 0.0% wa, 0.0% 阅读全文
posted @ 2013-03-10 11:12 wust.zjf 阅读(607) 评论(0) 推荐(0) 编辑
摘要: 转自:http://blog.csdn.net/21aspnet/article/details/6729724文章最后本人做了一幅图,一看就明白了,这个问题网上讲的不少,但是都没有把问题说透。 一、概念 对齐跟数据在内存中的位置有关。如果一个变量的内存地址正好位于它长度的整数倍,他就被称做自然对齐。比如在32位cpu下,假设一个整型变量的地址为0x00000004,那它就是自然对齐的。 二、为什么要字节对齐 需要字节对齐的根本原因在于CPU访问数据的效率问题。假设上面整型变量的地址不是自然对齐,比如为0x00000002,则CPU如果取它的值的话需要访问两次内... 阅读全文
posted @ 2013-03-06 22:22 wust.zjf 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 转自:http://blog.163.com/xychenbaihu@yeah/blog/static/1322296552013023030673/敏捷精神:一种把以人为本、团队合作、快速响应变化和可工作的软件作为宗旨的开发方法一. 态度决定一切 选定了要走的路,就是选定了通往的目的地。1. 做事: 指责不会修复bug, 把矛头对准问题解决的方法,而不是人。一个重大的错误应该被当作是一次学习而不是指责他人的机会。 团队成员在一起工作,应相互帮助,而不是相互指责。2. 欲速则不达: 不要因为时间紧迫给自己找借口,而坠入快速简单的修复之中。在没有真正解理代码之前,不要急于进行bug修复。 必须. 阅读全文
posted @ 2013-03-06 20:43 wust.zjf 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 转自:http://blog.163.com/xychenbaihu@yeah/blog/static/1322296552012692314819/关键字static的作用是什么? 这个简单的问题很少有人能回答完全。在C语言中,关键字static有三个明显的作用:1) 无论在函数体内,类内,还是全局变量,全局静态变量,在程序启动的时候,静态变量,全局变量的空间已经分配好了。2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限 阅读全文
posted @ 2013-03-06 20:25 wust.zjf 阅读(724) 评论(0) 推荐(0) 编辑
摘要: 转自:http://yunli.blog.51cto.com/831344/248828goto 语句在C/C++语言中可谓是“臭名昭著”,乃至有的书(或公司的编程规范)提出禁用goto语句的说法。其结果就是,造成有的程序员一看到goto语句 在某程序中被使用,就本能地认为这个程序写得很“垃圾”。此外,也使得有些程序员因为使用了goto语句而觉得自己很不专业。其实,凡事都不能太偏 激,goto语句运用得好能大大地简化程序,以及提高程序的可读性和可维护性。在开始示例其好处之前,先用一些统计数据来说明goto语句并没有因为“臭 名昭著”而被抛弃,这些统计数据可能并不是百分之百的精确,但很具有说服力 阅读全文
posted @ 2013-03-06 13:30 wust.zjf 阅读(443) 评论(0) 推荐(0) 编辑
摘要: Linux下的静态链接库,做起来比较容易,只要将目标文件用ar打包就可以,下面写一下动态链接库的制作和使用方法,完全是根据个人理解和经验总结,有不对的地方还请大家指正。动态链接库的生成:代码上与写静态链接库没什么区别,主要是在编译时,以两个文件举例:/*mylib.h*/voidPrint();/*mylib.c*/#include<stdio.h>#include"mylib.h"voidPrint(){printf("Thisisinmylib\n");}编译方法如下:gcc -fpic -shared mylib.c -o mylib. 阅读全文
posted @ 2013-03-04 21:50 wust.zjf 阅读(426) 评论(0) 推荐(0) 编辑
摘要: Linux 中的应用程序以以下两种方式之一链接到外部函数:要么在构建时与静态库( lib*.a)静态地链接,并且将库代码包含在该应用程序的可执行文件里;要么在运行时与共享库( lib*.so)动态地链接。通过动态链接装入器,将动态库映射进应用程序的可执行内存中。在启动应用程序之前,动态链接装入器将所需的共享目标库映射到应用程序的内存,或者使用系统共享的目标并为应用程序解析所需的外部引用。现在应用程序就可以运行了。 先介绍静态库: 静态函数库实际上就是简单的一个普通的目标文件的集合,一般来说习惯用“.a”作为文件的后缀。可以用ar这个程序来产生静态函数库文件。Ar 是archiver的缩写。.. 阅读全文
posted @ 2013-03-04 21:21 wust.zjf 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 从做完就在搞这个问题,一共有三种方案,dnw和dnw2还有usb2ram第一种需要加载驱动,后面两种需要安装libusb-dev.其中第二种的烧写速度很快,我都能听到电流声.但是也很不稳定.经常出现的提示是:"usb_bulk_write failed: Resource temporarily unavailable"从提示的信息来看是烧写的文件大于容量了.但是实际情况没有,原因不明.有人说是每次烧写都要重新插拔一次usb.usb2ram提示的信息是找不到设备,原因不明========================================使用dnw2经常出现的错 阅读全文
posted @ 2013-03-02 22:56 wust.zjf 阅读(815) 评论(0) 推荐(0) 编辑
摘要: 这些宏包括 __init、__initdata、__initfunc()、asmlinkage、ENTRY()、FASTCALL()等等。它们的定义主要位于 Include\linux\linkage.h和 include\asm-i386\Init.h以及其他一些.h文件中。 1) __init位置:include\asm-i386\Init.h 定义:#define __init __attribute__ ((__section__ (".text.init"))) 注释:这个标志符和函数声明放在一起,表示gcc编译器在编译的时候需要把这个函数放.text.init 阅读全文
posted @ 2013-02-27 18:49 wust.zjf 阅读(1052) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 9 下一页