2016/10/12
1.Makefile 中截取字符串的方法:
Eg:
TARGET := s3c2440
要是我想获得到 “2440”,可以用下面的写法
$(subst s3c,,$(TARGET))
2016/10/12
2.C语言中使用宏定义的时候要留意运算符优先级跟括号的用法, 因为宏定义是使用非常广泛的,下面是我遇到过的一个实际例子:
Eg:
#define ADDR_DEMO(offset) 0x0F00000 | offset
#define read_addr(x) (x + 0x01000000)
展开之后的效果为 0x0F000000 | offset + 0x01000000
而实际上想要的效果是 (0x0F000000 | offset ) + 0x01000000
两个是不同的值,结果当然就会出错,,一般为了保险,请勤用括号。