- 博客(8)
- 收藏
- 关注
原创 一个简单的消除调试打印方法
我的工程都是在终端上运行,用C语言实现,调试时有很多打印信息,一开始也没有注意,现在准备把软件正式发布的时候,才发现这么printf屏蔽掉也是件麻烦的事情,或者用#ifdef DEBUG这个太烦,或者你查找printf并替换成//printf。这样的有点不安全,比如如果是printf与}此类括号写在一起的就会出错,当然一般是不会这么写的。我所做的是首先写一个my_printf(...)的函数,
2007-07-12 21:17:00 1711
原创 分析对比主流Bootloader的性能
引言:Bootloader是在操作系统运行之前执行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射表,从而建立适当的系统软硬件环境,为最终调用操作系统内核做好准备。对于嵌入式系统,Bootloader是基于特定硬件平台来实现的。因此,几乎不可能为所有的嵌入式系统建立一个通用的Bootloader,不同的处理器架构都有不同的Bootloader。Bootload
2007-06-19 19:36:00 2889 1
原创 对比嵌入式文件系统损耗平衡算法
引言为什么要损耗平衡(wear-leveling)?Flash上的每一位(bit)可以被写操作置成逻辑0。 可是把逻辑 0 置成逻辑 1 却不能按位(bit)来操作,而只能按擦写块(erase block)为单位进行擦写操作。一般来说,“NOR flash擦写块的大小是128K,Nand flash擦写块的大小是8K”【2】。从上层来看,擦写所完成的功能就是把擦写块内的每一位都重设置
2007-06-19 19:30:00 2912
原创 Berkeley db 中queue算法的使用(c语言实现)
queue方式的数据库初始大小4K多。以数据段长度为16个字节计,1000条记录为24K,2000条数据为45K,存储效率还可以。其它诸如稳定性还没有测试过。 queue算法的使用代码如下,如果想了解函数的功能,请进入Berkeley db目录下docs/ref/am/ops.html查看函数手册,在此不再赘述 #include "db.h" #include #include #
2007-06-19 18:17:00 2404 1
原创 Berkeley db 4.5.20 移植到ARM
首先去下一个berkeley db,下面这个是官方网站:http://www.oracle.com/database/berkeley-db/index.html我所下到的最新版本是4.5.20首先解压缩:tar zxvf db-4.5.20.tar.tarcd db-4.5.20可以看到有个README文件,它让我们进docs/index.html查看具体的文档。查看文档完毕,开始编译,由于be
2007-06-19 17:52:00 2121
转载 C语言高级测试:为C程序员准备的0x10个最佳问题
整个测试遵循以下的约定:u 假定在所有的程序中必须的头文件都已经被正确包含。考虑如下的数据类型:u char 为1个字节u int 为4个字节u long int 为4个字节u float 为4个字节u double 为个8字节u long double 为 8个字节u
2006-10-25 11:05:00 920
原创 1001
#include int main(int argc, char* argv[]){ int n,i,j,num[500],theme[500],temp; while(cin>>n) { for(i=0;i cin>>num[i]>>theme[i]; for(i=0;i for(j=0;j if(theme[j] { temp=theme[j]; theme[j]=
2006-04-07 21:27:00 1023
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人