由于c2000系列处理器最小存储单元是16bit,所以sizeof(int)=1,sizeof(byte)=1。 那么在执行stdlib.h、string.h中的函数时,函数参数size_t 是按照byte(8 bits)长度得到的数量还是按照int(16bits)长度得到的数量?
例如:1、malloc(2) 是分配一个地址(16bits)的空间,还是分配两个地址的空间?
2、UINT16 a,b;
memcpy(b,a,2)、memcpy(b,a,sizeof(a))、memcpy(b,a,1)哪种方法正确
Wei Li12:
回复 Hank Zhao:
那是不是可以认为c2000在使用string.h、 stdlib.h 中的函数时都是按照size个地址空间进行处理,而不是普通c语言编程中的size个字节?谢谢
由于c2000系列处理器最小存储单元是16bit,所以sizeof(int)=1,sizeof(byte)=1。 那么在执行stdlib.h、string.h中的函数时,函数参数size_t 是按照byte(8 bits)长度得到的数量还是按照int(16bits)长度得到的数量?
例如:1、malloc(2) 是分配一个地址(16bits)的空间,还是分配两个地址的空间?
2、UINT16 a,b;
memcpy(b,a,2)、memcpy(b,a,sizeof(a))、memcpy(b,a,1)哪种方法正确
Hank Zhao:
回复 Wei Li12:
在C2000中字节就是16位的,而不是通常认为的8位。
由于c2000系列处理器最小存储单元是16bit,所以sizeof(int)=1,sizeof(byte)=1。 那么在执行stdlib.h、string.h中的函数时,函数参数size_t 是按照byte(8 bits)长度得到的数量还是按照int(16bits)长度得到的数量?
例如:1、malloc(2) 是分配一个地址(16bits)的空间,还是分配两个地址的空间?
2、UINT16 a,b;
memcpy(b,a,2)、memcpy(b,a,sizeof(a))、memcpy(b,a,1)哪种方法正确
Wei Li12:
回复 Hank Zhao:
好的,理解了,谢谢
TI中文支持网


