vxworks6.6中symFindByName无法找到执行函数的指针问题
void runModule()
{
STATUS status=ERROR;
int fd;
MODULE_ID hModule ;
FUNCPTR taskEntry=NULL;
SYM_TYPE * pType ;
if ((fd = open("rwerer.o", O_RDONLY, 0)) < 0)
{
printf("\nCannot open memory device.\n");
goto done;
}
if ((hModule=loadModule(fd,LOAD_ALL_SYMBOLS ))==NULL)
{
printf("loadModule error = 0x%x.\n",errno) ;
goto done;
}
status = symFindByName(sysSymTbl,
"func1",
(char **)&taskEntry,pType );
if (status==ERROR)
{
printf("symFindByName error=%d\\n", errno) ;
goto done;
}
}
这个函数在shell中可以执行。但是在usrAppInit 中调用报错。
发现是symFindByName函数出错。
[解决办法]