编程
_zdh
这个作者很懒,什么都没留下…
展开
-
汇编
STR两种用法STR r0, [r1, #0x10] ;r1+0x10这个是所用的实际地址值,但是不回写入r1,在此句之后,r1=0STR r0, [r1], #0x10 ;r1+0x10这个是所用的实际地址值,这个值回写入r1,此句之后,r1=0x10ARM中LDR伪指令与LDR加载指令ARM指令集中,LDR通常都是作加载指令的,但是它也可以作伪指原创 2012-12-21 15:23:11 · 332 阅读 · 0 评论 -
预编译与条件编译
预编译与条件编译#define 预编译宏#if 表达式 #else if 表达式 #else #endif 条件编译#ifdef 宏 #else #endif 条件编译#ifndef 宏 #else #endif 条件编译原创 2013-02-28 10:25:51 · 824 阅读 · 0 评论 -
运行地址和加载地址
运行地址和加载地址 在连接目标代码时,会提到运行地址和加载地址。这两者有什么区别呢? 加载时地址就是程序放置的地址,运行地址就是程序定位的绝对地址,也即在编译连接时定位的地址。如果程序是在flash里运行,则运行地址和加载地址是相同的。如果程序是在ram里运行,但程序是存储在flash里,则运行地址指向ram,而加载地址是指向flash。代码一般转载 2013-01-22 17:26:25 · 389 阅读 · 0 评论 -
字符与数字之间的转化
数字转化为字符char *itoa( int value, char *string,int radix);原型说明:功能:将数字转化为字符串value:欲转换的数据。string:目标字符串的地址。radix:转换后的进制数,可以是10进制、16进制等。itoa() 将整型值转换为字符串litoa()原创 2013-02-02 15:19:07 · 519 阅读 · 0 评论 -
C语言中的位域
C语言中的位域 有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态,用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域,并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进转载 2013-03-12 09:32:47 · 573 阅读 · 0 评论 -
C语言的试题
某日,看到一道比较恶心的C语言的试题,考了很多比较绕的知识点,嘴脸如下:-------------------------------------------------------------------------------- int main(void) { int a[4] = {1, 2, 3, 4}; int *ptr1=(in转载 2013-03-12 17:26:16 · 517 阅读 · 0 评论 -
函数指针
恼人的函数指针(一)这篇是为了加深记忆所写。发现,很多知识若不经过反复的琢磨和动手实践,是很难记得住的。1) 函数指针的初始化。函数如下:1 int CompareString(const string& str1, const string& str2)2 {3 return str1.compare(str2); 4 }函数的初始化有转载 2013-03-26 10:08:48 · 536 阅读 · 0 评论 -
IAR 扩展关键字
IAR 扩展关键字 1.扩展关键字:用于控制数据和指针__eeprom 用于EEPROM 存储空间, 控制数据存放,控制指针类型和存放__tinyflash, __flash, __farflash, __hugeflash 用于flash 存储空间, 控制数据存放,控制指针类型和存放__ext_io, __io 用于I/O存储空间, 控制数据存转载 2016-01-19 09:20:19 · 3744 阅读 · 0 评论