题记:嵌入式系统工程师____路漫漫其修远兮,吾将上下而求索。
此篇博客意将编程过程中用到的C语言扩展部分逐一记录下来。
2014-01-25:
_SWAP_BYTES(x)
解释:x是一个16位的无符号整数,将x的高8位和低8位进行交换。
2014-04-12:
原型:extern float pow(float x, float y);
用法:#include <<a class="inner-link decor-none" href="http://zhidao.baidu.com/search?word=math.h&fr=qb_search_exp&ie=utf8" target="_blank" rel="nofollow" data-word="6" log="pos:innerLink" style="color: rgb(45, 100, 179); text-decoration: initial;">math.h>
功能:计算x的y次幂。
说明:x应大于零,返回幂指数的结果。
2014-05-11:
*(unsigned long*)0x400FC1A0的理解:
解释自百度知道:http://zhidao.baidu.com/link?url=PSLtvXzNNx8Gb0_6R0nTOvMeQSkBFY7wvWLMMWOJnmmVIGkP0HeF89DYke2ivbM9weHTtUFQgDbp9Dpy05iD3a
1、long 是32位整型,unsigned指无符号整数,左边的*表示取地址的内容;
2、volatile表示易变的,告诉编译器不要优化,这个地址的内容不一定是在程序中改变的;
3、volatile unsigned long*表示将后面跟的内容转化一个指向易变的无符号32位整型数据的指针(地址);
4、前边再加一个*表示取该指针指向地址的内容;
总的意思就是取内存地址为0x400FC1A0里的数,并将这个数转化为无符号32位整型。