
软件工程
嵌入式linux
持续积累,持续提高
展开
-
pclint的使用
PClint的配置网络上有一大堆的资料。个人梳理起来认为,先关注下lint的环境下到底有哪些东西,再用config.exe执行一下,就可以领略到lint的执行过程。 如lint-nt.exe文件,std.lnt, options.lnt,看一下这两个文件中的内容。 配置开启哪些告警,文件显示格式(对于SI中则在lnt下的env-si中定义)等等。用户可以修改配置,看看运行出原创 2012-08-16 13:08:12 · 1420 阅读 · 2 评论 -
中国软件开发工程师之痛
转载:http://nnwq.iteye.com/blog/1912905 个人经历: 早就认识到软件问题,不仅仅是编码问题,编码在整个软件开发过程中可能占的比例只有20%。编码之外的功夫尤为重要,要体会到这一点,只有有心的人才能做得到。 只知道编码的人,随处可以找到,但是有软件开发思想的人,却不定能够培养的出来。只会编码,只能做码农。好比建房子,只负责垒砖,有意义,但转载 2013-07-25 09:35:41 · 965 阅读 · 0 评论 -
gcc -M 选项 以及Makefile隐含规则
一、gcc -M 选项在《跟我学写Makefile》中有讲自动生成依赖关系在Makefile中,我们的依赖关系可能会需要包含一系列的头文件,比如,如果我们的main.c中有一句“#include "defs.h"”,那么我们的依赖关系应该是:main.o : main.c defs.h但是,如果是一个比较大型的工程,你必需清楚哪些C文件包含了哪些头文件,并且,你在加入或删除头文件时原创 2013-08-28 08:05:41 · 3118 阅读 · 0 评论 -
Klocwork 静态代码检查工具
官网:http://www.klocwork.com/ Klocwork功能包括:原创 2013-08-29 10:05:23 · 6056 阅读 · 1 评论 -
,Buildroot用户指南
第一章 关于Buildroot Buildroot是一个包含Makefile和修补程序【patch】的集合,这个集合可以使你很容易的为你的目标构建交叉工具链【cross-compilationtoolchain】,根文件系统【root filesystem】以及Linux内核映像【kernelimage】。Buildroot可以独立的实现其中的一个或几个功能。转载 2013-09-05 12:59:25 · 1814 阅读 · 0 评论 -
使用 PHP 直接在共享内存中存储数据集
http://www.ibm.com/developerworks/cn/opensource/os-php-shared-memory/概述共享内存是一种在相同机器中的应用程序之间交换数据的有效方式。一个进程可创建一个可供其他进程访问的内存段,只要它分配了正确的权限。每个内存段拥有一个惟一的 ID(称为shmid),这个 ID 指向一个物理内存区域,其他进程可在该区域操作它。创建并提转载 2013-10-15 08:02:13 · 884 阅读 · 0 评论 -
Git 常用命令
Git 常用命令 Git 是一个很强大的分布式版本控制系统。它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势。 本来想着只把最有用、最常用的 Git 命令记下来,但是总觉得这个也挺有用、那个也用得着,结果越记越多。 http://www.cnblogs.com/1-2-3/archive/2010/07/18/git-commands.html转载 2013-12-11 16:23:29 · 769 阅读 · 0 评论 -
Windows Git安装
Windows Git安装1. 下载地址 a) http://code.google.com/p/tortoisegit/wiki/Download tortoise类tortoise svn方式使用git。 b)http://code.google.com/p/msysgit/downloads/list?q=full+installer+offic原创 2013-12-11 16:21:30 · 890 阅读 · 0 评论 -
敏捷开发 体会
以人为本拥抱变化持续提供可交互可使用的产品 敏捷开发中最不可省的就是持续集成。原创 2013-12-20 09:11:31 · 1032 阅读 · 0 评论 -
实现高性能gsoap服务 .
转自:http://blog.youkuaiyun.com/kmblack1/article/details/8863389 服务流程图代码请参看gSOAP 2.8.14 User Guide 中的7.2.4 How to Create a Multi-Threaded Stand-Alone Service. listen : 监听soap_accept方法,返回一个SOAP转载 2013-07-31 11:12:37 · 1289 阅读 · 0 评论 -
linux core文件生成配置
1. 通用的不能生产原因网络上可以查找到,就是配置core文件输出条件的一些配置。 本空间中有转载一些文章介绍。 但是有一点需要注意的是,对于自己编译的系统,启动了该功能(可能涉及到,没尝试过),如果重启,那些配置可能会被还原。 所以,在想生成core文件时,最好让系统不要重启。2. 还有其他原因,如果程序员在代码中接管了系统的系统中断退出信号的处理,那么也可能产生不了原创 2013-07-23 08:57:07 · 993 阅读 · 0 评论 -
经典vim插件功能说明、安装方法和使用方法介绍(已更新) .
1 #============================================================================= 2 转载请注明出处: http://blog.youkuaiyun.com/tge7618291 http://nuoerlz.35free.net 8 #==================转载 2012-08-16 16:20:40 · 6263 阅读 · 0 评论 -
敏捷开发
敏捷开发的借鉴个人觉得敏捷开发的思想在于程序员之间的交流,提倡人与人之间信息的共享,而不是各自埋头做事。 1、 晨会制度 每天早上小会,告知昨天作了什么,存在什么问题,后续可能需要怎么解决,需要什么协助。 这样可以及时让项目组成员了解到其他人当前的工作状态,个人也可以及时反映出问题并可以寻求到帮助。 2、燃尽图 记录项目的进展。项目进度可以说是管理原创 2012-09-04 10:01:44 · 620 阅读 · 0 评论 -
测试驱动先行
测试驱动先行开发模式1、基本思想 先写测试代码,并让测试代码能够基本的通过。 2、个人想法 测试驱动先行开发原理很简单,但是个人觉得不太实用。 大概这个是很多测试人员提出的想法,比较理想。 代码确实需要严格的通过单元测试,集成测试,系统测试。 单元测试成本过高,而且很可能严重影响开发进度。产品连有无的问题都解决不了,一堆华丽的测试代码原创 2012-09-04 10:07:42 · 565 阅读 · 0 评论 -
学会用core dump调试程序错误(转)
前言 最近在项目中遇到大型程序出现SIGSEGV ,一直不知道用core dump工具来调试程序,花了近一周的时间,才定位问题,老大很生气,后果很严重,呵呵,事后仔细学习了这块的知识,了解一点core dump的知识。 在使用半导体作为内存的材料前,人类是利用线圈当作内存的材料(发明者为王安),线圈就叫作core ,用线圈做的内存就叫作“core memory”。(线圈的单词应该是c转载 2012-10-17 09:34:49 · 1229 阅读 · 0 评论 -
svn lock
svn加锁/解锁 svn lock -m "LockMessage" [--force] PATH eg:svn lock -m "build version" test.inisvn unlock PATH原创 2012-12-31 15:30:58 · 755 阅读 · 0 评论 -
软件产品质量保证--测试与开发角色互换
以前一家公司在开发产品过程中曾经使用过的一种方式介绍。 定期让开发人员支持测试工作。 定期的让开发人员支持测试,一周或半周,做一些版本测试。好处有很多,技术上以及人文关怀上都有。重点是技术上,有能动性的开发人员会在测试过程中想想那些业务可能有问题,在一些细节上对产品做更细致的测试。 测试人员支持开发。这个难度会比较大,因为很多测试人员基本就没有开发经验。从某种程度上说,原创 2013-02-22 10:32:22 · 737 阅读 · 0 评论 -
gdb core 调试
signalfunctionlibraryfilecrashcmd1. 前言:有的程序可以通过编译, 但在运行时会出现Segment fault(段错误). 这通常都是指针错误引起的.但这不像编译错误一样会提示到文件->行, 而是没有任何信息, 使得我们的调试变得困难起来.2. gdb:有一种办法是, 我们用gdb的step, 一步一步寻找. 这放在短小的代码中是可转载 2013-07-02 19:09:01 · 887 阅读 · 0 评论 -
详解coredump
一,什么是coredump 我们经常听到大家说到程序core掉了,需要定位解决,这里说的大部分是指对应程序由于各种异常或者bug导致在运行过程中异常退出或者中止,并且在满足一定条件下(这里为什么说需要满足一定的条件呢?下面会分析)会产生一个叫做core的文件。 通常情况下,core文件会包含了程序运行时的内存,寄存器状态,堆栈指针,内存管理信息还有各种函数调用堆转载 2013-07-02 19:37:21 · 961 阅读 · 0 评论 -
Buildroot 编译器配置
buildroot编译时需要先make personal-config-files,然后make。make personal-config-files执行完后会在.config中生成临时的配置共buildroot使用。 1)在buildroot的configs文件中指定编译选项。 如: BR2_TOOLCHAIN_EXTERNAL=y原创 2014-01-10 15:24:30 · 4273 阅读 · 0 评论