因為是code label,所以還是宣告成 function 比較好 (否則 compiler 會作取值運算)。
總結一下,就是:
extern "C" void CopyAndRun_Start(void);這樣就可以了。
extern "C" void CopyAndRun_End(void);
memcpy((int*)0x0400,(int*)CopyAndRun_Start,(unsigned int)CopyAndRun_End - (unsigned int)CopyAndRun_Start);
((void(*)(int,int,int))0x00000400)(0x33800000,(int)0x31000000,FileSize ());
沒有留言:
張貼留言