//Device.cpp
 #include "other.h"
 #ifdef __cplusplus
 extern "C" {
 #endif
  int initDevice(char *arg);
 #ifdef __cplusplus
 }
 #endif
 
 int initDevice(char *arg)
 
 {
  printf("%s\n", arg);
 }
 
 生成的.out文件需对其使用如下命令
  chmod.exe a+rx Device.out
 
 int dynLoadOut( )
 {
  char szDeviceOutPath[128] = "/ata0a/App/Device.out";
  for (int j = 0; j < 3; j++)
  {
   int fdX = open (szDeviceOutPath, O_RDONLY, 0644);
   
   if (fdX == ERROR )
   {
    printf("openfile error:%s\n", szDeviceOutPath);
    taskDelay(1000);
    continue;
   }
   else
   { 
    MODULE_ID modID = loadModule (fdX, LOAD_ALL_SYMBOLS);
    close (fdX);
 
    if (modID == 0)
    {
     printf("loadModule error\n");
     return 1;
    }
    break;
   }
  }
  printf("loadModule ok\n");
 
  extern SYMTAB_ID sysSymTbl;
  FUNCPTR deviceEntry = 0;
  SYM_TYPE type;
  STATUS stus = symFindByName(sysSymTbl, "initDevice", (char**)&deviceEntry, &type);
  if (stus == ERROR)
  {
   printf("symFindByName error\n");
   return 1;
  }
  else
  {
   printf("deviceEntry = 0x%x, type = %d\n", (int)deviceEntry, (int)type);
   char szPara[128] = "have a test!"
   (*deviceEntry)(szPara);
  }
 }