//memcpy(&RamfuncsRunStart, &RamfuncsLoadStart, (Uint32)&RamfuncsLoadSize);
MemCopy(&RamfuncsLoadStart, &RamfuncsLoadEnd, &RamfuncsRunStart);
我从Controlsuite中示例程序中找到了memcpy函数,写了一个小程序可以运行。但程序写得大一点后,memcpy函数执行有问题。
于是换了MemCopy函数,可以正常运行。
我想请问一下,这两个函数的应用上有什么区别吗?
mangui zhang:
memcopy没有问题。 memcopy跟memcpy是不一样的。
void MemCopy(Uint16 *SourceAddr, Uint16* SourceEndAddr, Uint16* DestAddr)
{
while(SourceAddr < SourceEndAddr)
{
*DestAddr++ = *SourceAddr++;
}
return;
}
//memcpy(&RamfuncsRunStart, &RamfuncsLoadStart, (Uint32)&RamfuncsLoadSize);
MemCopy(&RamfuncsLoadStart, &RamfuncsLoadEnd, &RamfuncsRunStart);
我从Controlsuite中示例程序中找到了memcpy函数,写了一个小程序可以运行。但程序写得大一点后,memcpy函数执行有问题。
于是换了MemCopy函数,可以正常运行。
我想请问一下,这两个函数的应用上有什么区别吗?
mangui zhang:
memcpy()是去判断len是否为0了