| 
 
| 本帖最后由 乌月明星稀 于 2013-9-25 23:17 编辑 
 #include "stdio.h"
 
 void a()
 {
 printf("This is test!\n");
 }
 
 char CodeArr[100];
 void main()
 {
 char temp;
 char *Pcopy=(char*)a;
 for(temp=0;temp<100;temp++)
 {
 CodeArr[temp]=Pcopy[temp];//代码拷贝
 }
 ((void(*)(void))CodeArr)();    //强制转换为void (*)(void)函数类型
 }
 
 我的想法是:将代码a拷贝到CodeArr中,然后用CodeArr强制转换为函数指针,执行到拷贝后的函数中去,但实际会导致整个main进程死掉。
 
 求高手指点,如何用C编译可重定向代码。环境是Windows的C编译器
 | 
 |