- 博客(10)
- 资源 (1)
- 收藏
- 关注
转载 static_cast, dynamic_cast, reinterpret_cast, const_cast区别比较
隐式转换(implicit conversion)short a=2000;int b;b=a;short是两字节,int是四字节,由short型转成int型是宽化转换(bit位数增多),编译器没有warning,如下图所示。宽化转换(如char到int,int到long long,int到float,float到double,int到double等)构成隐式转换,
2014-09-03 15:55:37 639
转载 C语言结构体的对齐原则
Q:关于结构体的对齐,到底遵循什么原则?A:首先先不讨论结构体按多少字节对齐,先看看只以1字节对齐的情况:#include #include string.h>#define PRINT_D(intValue) printf(#intValue" is %d\n", (intValue));#define OFFSET(struct,member) ((char
2014-04-03 11:09:25 1052
转载 通过未初始化全局变量,研究BSS段和COMMON段的不同
本文的copyleft归gfree.wind@gmail.com所有,使用GPL发布,可以自由拷贝,转载。但转载请保持文档的完整性,注明原作者及原链接,严禁用于任何商业用途。作者:gfree.wind@gmail.com博客:linuxfocus.blog.chinaunix.net最近正在重温《程序员的自我修养》一书,由于水平比以前有所提升,所以读书的收获也不一样。
2014-03-26 15:33:25 1152
转载 大白话解析模拟退火算法
一. 爬山算法 ( Hill Climbing )介绍模拟退火前,先介绍爬山算法。爬山算法是一种简单的贪心搜索算法,该算法每次从当前解的临近解空间中选择一个最优解作为当前解,直到达到一个局部最优解。爬山算法实现很简单,其主要缺点是会陷入局部最优解,而不一定能搜索到全局最优解。如图1所示:假设C点为当前解,爬山算法搜索到A点这个局部最优解就会停止搜索,因为在A点无论向那个方向小幅度移动都不能
2013-05-29 19:21:27 825
原创 nm命令
nm——列出目标文件的符号清单nm命令的格式如下nm[选项][目标文件]nm 后如果没有输入目标文件名,nm假想该文件是a.out。nm的用途之一就是调试程序,特别是在编嵌入式程序。nm的目标文件包括编译后的.o文件,可执行的.elf文件,打包的.a文件(静态库),动态链接库.so文件。nm输入格式如下:nm main.o U exit
2013-05-19 20:37:19 1226
转载 中科院—退学—我这样看待
宿舍某哥们退学了…分类: 随心所记 由 ssfighter 于 2009年05月14日 发表前两天忽然听说宿舍某哥们要退学了,不由得一惊,不过想起来倒也没那么值得惊讶,因为他其实很长一段时间精神都比较萎靡不振,这个学期又换了导师,是在开完题之后换的,换导师的时候就弄得差不多满城风雨的了,最近情绪又挺低落的,原来是准备退学了啊,唉。宿舍另外一个哥们还在劝他
2013-05-15 16:01:40 3121 4
原创 嵌入式实时系统中的优先级反转问题
优先级反转的出现常用的RTOS常采用基于优先级的抢占式内核。由于实时系统通常采用信号量机制实现访问互斥量,因此常常要面对优先级反转的出现。优先级反转是一种不确定的延迟,任何RTOS都必须要处理这一问题。优先级反转出现在高优先级的任务等待低优先级的信号量而在低优先级执行时可能会被中间优先级的任务剥夺,造成中间优先级和高优先级任务的反转。具体情况如下:(1)任务1和任务2由于等待事件而
2013-05-04 22:39:07 1641
翻译 TMS320F28335的中断系统——CPU级中断
对于任何一种CPU来说,除了正常的执行指令外,中断(或异常)是唯一的异步事件。中断的出现是随机的,对中断的处理能力也是CPU的一个重要指标,特别是对于嵌入式处理器。TMS320F28335内置的是C28x系列的CPU。下面介绍C28x对中断的处理过程。概述对于C28x,中断可以由软件(INTR,OR IFR,或TRAP指令)或硬件(定时器等)触发。在CPU级所有的中断可以分为两类:1.
2013-04-10 21:36:11 8125
原创 C语言和gcc笔记
1.C语言中的register关键字只是类型修饰符和const和volatile的地位一样。在C语言中定义register a;用gcc -Wall 编译后会警告type defaults to `int' in declaration of `a',可见register 只是修饰符。2.在C语言中数组会退化为指针。如下代码#include #include int main(){
2013-04-09 21:35:25 1171
原创 windows环境下arm gcc+Keil开发环境的搭建
操作系统:Window7 64bitKeil版本 V4.70交叉工具链:arm-none-eabi-gcc v4.7.2 由于刚开始学习嵌入式时用的linux环境下的arm-linux-gcc,但是随着工程文件的增加,每次都要修改Makefile。总之不太习惯Linux-Style编程,后来终于找到了好的方法,就是Keil+gcc。这样可以继续使用gcc编译器,意味着一些命令选项
2013-04-08 21:58:47 10410 4
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人