数据类型 点击:751 | 回复:2



myx

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 1回
  • 年度积分:0
  • 历史总积分:54
  • 注册:2003年2月10日
发表于:2003-09-05 10:37:00
楼主
请教各位高人我现在用Neruon C编程序遇到数据类型的问题,开辟内存时我用的是无符号长整型(unsigned long int),并且变量和网络变量都是无符号长整型,我的程序如下: typedef unsigned long int * L L p=(L)0xd00; mtimer tm_1000=1000; unsigned long int i,j; network unsigned long int q; when(timer_expires(tm_1000)) { i=256; memcpy(p,&i,2); memcpy(&j,p,2); q=j; } 从网络变量中看到的q值为10,若i=300,则读到的q为144,不知为什么,请尽快给予指导! 万分感谢!



zw76812

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 567回
  • 年度积分:0
  • 历史总积分:654
  • 注册:2001年7月18日
发表于:2003-09-05 10:07:00
1楼
This function cannot be used to copy overlapping areas of memory, or to write into EEPROM or flash memory. The memccpy() function copies len bytes from the memory area pointed to by src to the memory area pointed to by dest, up to and including the first occurrence of character c, if it exists. 换成memccpy()的吧!!! The memcpy() function can also be used to copy to and from the data fields of the msg_in, resp_in, msg_out, and resp_out objects.

zw76812

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 567回
  • 年度积分:0
  • 历史总积分:654
  • 注册:2001年7月18日
发表于:2003-09-05 10:37:00
2楼
我试了一下你的程序,改了一点; 1、L p=(L)0xd00;(在系统影像里,非法操作) L p=(L)0xd000; 2、network unsigned long int q; network output unsigned long int q; 我的结果没有什么问题!!! 看看你的目标硬件吧!!

热门招聘
相关主题

官方公众号

智造工程师