- 博客(23)
- 资源 (7)
- 收藏
- 关注
转载 【编程好习惯】屏蔽编程语言特性
本文出自 “至简李云” 博客,请务必保留此出处http://yunli.blog.51cto.com/831344/228239定义数组是做软件开发经常需要用到的最基本的编程语言功能之一,下面示例了采用数组保存一个会话ID的一段简化代码。#define SESSION_ID_LEN_MIN 1#define SESSION_ID_LEN_MAX 256c
2014-03-31 11:48:41 918
转载 【编程好习惯】恰当使用goto语句
本文出自 “至简李云” 博客,请务必保留此出处http://yunli.blog.51cto.com/831344/248828goto语句在C/C++语言中可谓是“臭名昭著”,乃至有的书(或公司的编程规范)提出禁用goto语句的说法。其结果就是,造成有的程序员一看到goto语句在某程序中被使用,就本能地认为这个程序写得很“垃圾”。此外,也使得有些程序员因为使用了goto语句而觉得
2014-03-31 11:46:43 999
转载 【编程好习惯】判断函数的返回值
本文出自 “至简李云” 博客,请务必保留此出处http://yunli.blog.51cto.com/831344/258925调用一个函数后要检查函数的返回值,以决定程序是继续应用逻辑处理还是出错处理,这理应是一个常识,但在现实中,却存在大量不检查函数返回值的代码。既然是常识,但却得不到重视,这不能简单地说程序员不知道其危害性。相信读者也明白不检查函数的返回值其危害是什么,因此,
2014-03-31 11:41:37 1221
转载 嵌入式 内存泄漏检测工具valgrind以及mtrace
原文出处:http://blog.csdn.net/skdkjzz/article/details/21737081valgrind: valgrind --tool=memcheck --leak-check=full ./x86_joseph_qrcodeusagex86 平台先编译你自己的应用程序命令行:valgrind --log-file
2014-03-28 08:46:26 2142
转载 嵌入式 嵌入式工程师必备软件Valgrind
此文为转载,原文出处:http://blog.csdn.net/skdkjzz/article/details/217353711、修改下面代码(configure) armv7*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok (${host_cpu})" >&5$as_echo "ok (${host_cpu
2014-03-28 08:44:23 2636
转载 【编程好习惯】精确包含头文件
本文出自 “至简李云” 博客,请务必保留此出处http://yunli.blog.51cto.com/831344/275313请注意这里用的是“精确”而不是“正确”,之所以不说正确,那是因为如果头文件没有被正确地包含的话,编译器是不会生成最终的目标代码的。那用精确一词想表达除正确之外的什么意思呢?包含两层意思。第一层意思是,只包含必需的头文件。图1是一个简单的示例程序,先
2014-03-26 10:01:36 709
转载 内存泄漏的防范和检测方法
本文出自 “至简李云” 博客,请务必保留此出处http://yunli.blog.51cto.com/831344/170181在C/C++编程中内存泄漏是一个非常普遍和令人头痛的问题,这一问题在嵌入式系统中更为突出。那么如何采用一种好的方法来防范和检测内存泄漏呢?常用的做法有以下几种。 1)采用代码审查的方式进行控制。这种方法是最容易想到的,但是效果也是相当的有限的。当
2014-03-25 22:51:00 884
转载 【编程好习惯】复用代码以提高可维护性
本文出自 “至简李云” 博客,请务必保留此出处http://yunli.blog.51cto.com/831344/263932代码复用在软件开发中存在两个层次。第一个层次是,在设计一个新的软件功能或是开发一个新的项目时,复用已存在的软件模块,这种复用或许称之为设计复用更好。另一个层次是,程序员在开发一个软件模块时,模块的内部应尽可能地复用。从编程习惯的角度来看,这里指的是后者。
2014-03-21 14:01:39 923
转载 【编程好习惯】合理运用静态全局或局部数组
本文出自 “至简李云” 博客,请务必保留此出处http://yunli.blog.51cto.com/831344/247388这里的“合理运用”并不是指“使用全局数组都是合理的”,而是指在没有办法需要使用全局变量的情况下,或者使用全局数组能带来一定的好处时,可以酌情使用静态全局数组。使用静态全局数组的前提是,这一数组的拥有者(任务或模块)具有全局生命周期。所谓全局生命周期是指,其
2014-03-20 10:23:34 1427
转载 【编程好习惯】借助隐式初始化简化程序逻辑
本文出自 “至简李云” 博客,请务必保留此出处http://yunli.blog.51cto.com/831344/271278在图1中示例了三个API的原型,分别是mprotector_init()、mprotector_fini()和mprotector_section_add()。假设mprotector_section_add()将会被多个任务调用以用于初始化各任务相关的一
2014-03-20 10:04:12 813
转载 【编程好习惯】减少搜索头文件的目录数
本文出自 “至简李云” 博客,请务必保留此出处http://yunli.blog.51cto.com/831344/1250264假设存在下图所示的项目目录结构。如果存在如下包含头文件的代码,则大多的项目中需要通过“-I foo”和“-I bar”指明两个搜索头文件的目录。12foo.c#inclu
2014-03-20 09:57:19 770
转载 【编程好习惯】引入中间变量使程序更易读
本文出自 “至简李云” 博客,请务必保留此出处http://yunli.blog.51cto.com/831344/859794今天查看自己为《专业嵌入式软件开发》一书所写的代码时发现,个别函数由于没有引入中间变量,使代码行既长又不易读。重构前后的代码如下所示。重构前:if (TIMER_STARTED == _handle->state_) { tim
2014-03-20 09:55:36 981
转载 【编程好习惯】使用空格增加可读性
本文出自 “至简李云” 博客,请务必保留此出处http://yunli.blog.51cto.com/831344/172242对于下面的代码。void push_back(dll_node_t &_node){ dll_node_t *p_next; dll_node_t *_p_prev=tail_; if(_p_prev==0)
2014-03-19 19:19:36 1244
转载 【编程好习惯】判断失败而不是成功
本文出自 “至简李云” 博客,请务必保留此出处http://yunli.blog.51cto.com/831344/172180先看下面一段代码。if (bbmt_physap_alarm_init () == RV_SUCC){ if (bbmt_trx_alarm_init () == RV_SUCC) { if (bbm
2014-03-19 19:15:52 867
转载 【编程好习惯】利用编程语言特性提高程序执行效率
本文出自 “至简李云” 博客,请务必保留此出处http://yunli.blog.51cto.com/831344/252954利用编程语言的特性不但能简化程序,而且还能提高程序的执行效率。先看一个使用sizeof()提高程序效率的例子程序,图1是没有使用sizeof()之前的代码,其背景信息需要在此做一个交代。其中,alarm_string变量是定义为长度是255的char数组,
2014-03-19 08:29:22 1130
原创 值得程序员仔细阅读思考的知名博客
至简李云 - 51CTO技术博客 - 领先的IT技术博客:http://yunli.blog.51cto.com/
2014-03-18 15:50:40 1223
转载 arm-none-linux-gnueabi,arm-none-eabi 与arm-eabi 区别
arm-none-linux-gnueabi链接工具命名: arch-vendor-(os-)abi1、arm-none-linux-gnueabi (ARM architecture, no vendor, linux OS, and the gnueabi ABI) 用于编译ARM架构的u-boot、linux内核、linux应用等2、arm-non
2014-03-11 23:29:18 11613 2
转载 Davinci的异构多核间通信基础组件SysLink
感谢原作者robin19890305的经验分享。=======================================================================================================转载请注明原文地址:http://blog.csdn.net/crushonme/article/details/10287693
2014-03-09 15:34:14 2684
转载 HDVPSS模块介绍及使用(DM81xx)
感谢原作者robin19890305的经验分享,正是有你这样无私奉献的人,科技才会不断发展。=======================================================================================================转载请注明原文地址:http://blog.csdn.net/crushonme/ar
2014-03-09 15:10:46 2705
转载 Netra(DM8168)基于Rdk平台的软件框架设计
感谢原作者robin19890305的经验分享。=======================================================================================================转载请注明原文地址:http://blog.csdn.net/crushonme/article/details/10245169
2014-03-09 15:04:18 3184
转载 DM8168 HDVPSS中的显示输出
原文地址:http://blog.csdn.net/shanghaiqianlun/article/details/12950583感谢原作者分享经验。DM8168HDVPSS中的显示输出文章作者:上海凯视力成信息科技有限公司转载请注明出处概述图1 显示框图 从图1中我们可以发现有3个高清视频编码器(HD
2014-03-09 15:01:23 1640
转载 mmap函数共享内存的理解
共享内存可以说是最有用的进程间通信方式,也是最快的IPC形式, 因为进程可以直接读写内存,而不需要任何数据的拷贝。对于像管道和消息队列等通信方式,则需要在内核和用户空间进行四次的数据拷贝,而共享内存则只拷贝两次数据: 一次从输入文件到共享内存区,另一次从共享内存区到输出文件。实际上,进程之间在共享内存时,并不总是读写少量数据后就解除映射,有新的通信时,再重新建立共享内存区域
2014-03-07 16:23:55 1338
转载 测试linux下 fprintf fwrite write mmap 等写文件的速度
/***************************************************************** 说明: 用不同的方法,测试写文件的速度,测试结果表明* 改变COUNT的值,将改变写入文件的大小* 测试CPU使用率方法: /usr/bin/time -f "CPU: %P" ./a.out 1 * ***********
2014-03-07 16:21:32 2523
IECISO17025-2017.pdf
2019-06-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人