09 2012 档案
摘要:一、Embedded Unit 简介 Embedded Unit(简称embUnit)是一个针对嵌入式C系统的单元测试框架。它不依赖于标准的C函数库,所有的对象都被静态编译链接。因此,可以比较方便地将其移植到嵌入式平台。 下载地址:http://sourceforge.net/projects/embunit/files/【备注】:Embedded Unit测试原理是通过将预期值与实际值进行比较来测试函数的逻辑,只能实现函数级别的单元测试而已,呵呵。二、目标平台简介 硬件平台:PowerPC 操作系统:基于uclinux内核,但是所有系统调用都自己实现的一个精简操作系统;三、移植思路由...
阅读全文
摘要:自己用shell脚本写了一个匹配文件中特定段落的小程序,现将思路和代码分享如下:实现思路:文件中特定的段落的开始和结束位置必须有相应的标记;首先使用grep找到开始标记和结束标记所在行的行号;计算结束和开始标记之间有多少行;使用grep -A获取开始和结束标记之间的段落;代码如下:#!/bin/bash# getlog.sh######################################################## usage: sh getlog.sh <filename> [outfilename]# version: 1.0 # auth...
阅读全文
摘要:《C专家编程》这本书是自己认真读完的一本IT类的书籍,书中详细介绍了关于C语言的缺陷和优点,对于C语言的初学者有很大的帮助;并且本书的语言活泼生动,读起来没有技术类书籍的那种枯燥和艰涩;书中还提供了一些编程实例,供读者实践;确实是一本好书,看过的人都知道,呵呵。现将书中对自己有帮助的内容总结如下:1.理解C语言声明的优先级规则(本书第64页)A 声明从它的名字开始读取,然后按照优先级顺序依次读取。B 优先级从高到低依次是: B1 声明中被括号括起来的那部分; B2 后缀操作符:括号()表示这是一个函数,而方括号[]表示这是一个数组; B3 前缀操作符:星号*表示“指向...的指...
阅读全文
摘要:《C陷阱与缺陷》里面介绍了一些自己不知道和以前理解不深的东东,现总结如下:1.词法分析的陷阱(本书第9页)y = x/*p; /* p指向除数 */上述语句的本意是:用x除以指针p所指向的值,然后把商赋给y;但是/*被编译器理解为一段注释的开始,编译器将不断地读入字符,直到*/出现为止。也就是说该语句实际的执行效果只是将x的值赋给y而已;可以将上面的语句重写成如下格式:y = x / *p /* p指向除数 */【备注】:我们的项目组中,明确规定在运算符与变量之间必须添加空格,就是为了避免上面的错误;2.运算符优先级(本书第22页)关于运算符优先级,我...
阅读全文
摘要:自己写了一个统计代码中的函数以及函数个数的正则表达式:grep '(' filename.c | grep ')' | grep -v ';' | grep '^[a-z]|[A-Z]'原理:1.分析函数的语法特点:函数实现部分的代码,所在行没有分号,因此,使用grep -v ';'过滤掉有分号的行;函数实现部分可能有返回值声明,因此,使用grep'^[a-z]|[A-Z]',获取以字母开头的行;函数实现部分肯定有括号,因此使用grep'(' filename.c | grep
阅读全文
摘要:写了一个查找某种类型的文件的脚本,代码如下:(代码实现是查找后缀名为.c的文件)#!/bin/bash# get the number of functions in RTS code# $1是运行脚本时,输入的第一个参数,这里指的是使用者希望搜索的目录# 下面的代码是对目录进行判断,如果为空则使用脚本所在的目录;否则,搜索用户输入的目录if [[ -z "$1" ]] || [[ ! -d "$1" ]]; then echo "The directory is empty or not exist!" echo "It
阅读全文