查看: 2876|回复: 3

[已解决] KL25 字符串的存储地址顺序(已解决)

[复制链接]

该用户从未签到

16

主题

57

帖子

0

中级会员

Rank: 3Rank: 3

积分
209
最后登录
2021-7-16
发表于 2014-3-21 09:57:29 | 显示全部楼层 |阅读模式
KL25 字符串的存储地址顺序 即大端模式、小端模式是与CPU有关还是编译器有关,能否通过设置来指定是大端模式还是小端模式?
我知道答案 目前已有2人回答
回复

使用道具 举报

该用户从未签到

16

主题

57

帖子

0

中级会员

Rank: 3Rank: 3

积分
209
最后登录
2021-7-16
 楼主| 发表于 2014-3-21 10:03:42 | 显示全部楼层

回复:KL25 字符串的存储地址顺序

补述:
现在碰到这样的问题:
Unsigned short a;
Unsigned char b[2]={0x01,0x02};
Memcpy(a,b,2);
结果是a=0x0102,
而我想要的结果是a=0x0201
回复 支持 反对

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2014-3-24 15:25:31 | 显示全部楼层

回复:KL25 字符串的存储地址顺序

楼主,你好!
我觉得这个不是和编译器有关,而是和代码有关,memcpy的代码为:
void *memcpy(void *memTo, const void *memFrom, size_t size)
{
  if((memTo == NULL) || (memFrom == NULL)) //memTo和memFrom必须有效
         return NULL;
  char *tempFrom = (char *)memFrom;             //保存memFrom首地址
  char *tempTo = (char *)memTo;                  //保存memTo首地址      
  while(size -- > 0)                //循环size次,复制memFrom的值到memTo中
         *tempTo++ = *tempFrom++ ;  
  return memTo;
}
从这个可以看出,就是顺序地址拷贝的,我认为,如果你要将他们倒过来,你可以自己写一个函数,从尾巴开始拷贝。
回复 支持 反对

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2014-3-24 15:26:49 | 显示全部楼层

RE:KL25 字符串的存储地址顺序

希望能帮到你,如果你还有问题,欢迎提问。
如果你的问题已经解决了,请帮我在你的标题上加上(已解决)。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-19 04:58 , Processed in 0.093019 second(s), 24 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表