中科因仑“3+1”工程特种兵精英论坛
标题: 大小端测试 [打印本页]
作者: 伊海 时间: 2014-8-5 15:15
标题: 大小端测试
编写一个函数,测试MCU是大端模式存储还是小端模式存储
- /****************************************************************
- ** 函数名称:LBEndian
- ** 函数功能:大小端测试函数
- ** 入口参数:None
- ** 出口参数:1 or 0
- ****************************************************************/
- int LBEndian (void)
- {
- unsigned int uiNumber = 0x12345678 ;
- unsigned char *ucptr = (void *)0 ;
- /* 将最低位1一个字节赋给ucptr */
- ucptr = (unsigned char *)(&uiNumber) ;
- /* 如果是小段模式,则返回1*/
- if ( 0x78 == (*ucptr) )
- {
- return 1 ;
- }
- /* 如果是大端模式,则返回0 */
- else
- {
- return 0 ;
- }
- }
复制代码通过ucptr = (unsigned char *)(&uiNumber) (好好理解这句程序);截取低地址的存储字节数据,如果低地址存储的是低字节,那么就是小端模式,如果低字节存储的是高字节,那么就是大端模式。ucptr = (void *)0 ,这样做是为了防止野指针的危患。
作者: 还你一世界 时间: 2014-8-5 15:30
不错,涨姿势了
作者: lxe 时间: 2014-8-5 15:40
....。其实,,没明白
作者: 墨奚 时间: 2014-8-10 14:36
还没面对过这个问题
作者: 伊海 时间: 2014-8-10 15:32
常考的题
记住它,它会给你带来好云
作者: 墨奚 时间: 2014-8-10 15:39
{:soso_e116:}
欢迎光临 中科因仑“3+1”工程特种兵精英论坛 (http://bbs.enlern.com/) |
Powered by Discuz! X3.4 |