采用loadModule加载模块
{
int fd;
FUNCPTR start;
SYM_TYPE symType;
MODULE_ID demoId;
if((fd=open(fileName,O_RDONLY,O_RDONLY))==ERROR){
printf("\n%s open error",fileName);
return;
}
if(loadModule(fd,LOAD_GLOBAL_SYMBOLS|LOAD_COMMON_MATCH_ALL )==NULL) { close(fd);
return;
}
close(fd);
if(symFindByName(sysSymTbl,entry,(char**)&start,&symType)==OK)
{
(*start)();
printf("\n%s start...",entry);
}
else
printf("\nFind Symbol %s Failed!\n",entry);
}
能够实现.o、.out模块加载和执行模块内函数,但是在shell下moduleShow()看不到加载的模块,lkup()也看不到函数,shell下执行模块内的函数时,提示找不到该函数?
最新人才