相关疑难解决方法(0)

dlsym/dlopen与运行时参数

我正在尝试做类似以下的事情

  enum types {None, Bool, Short, Char, Integer, Double, Long, Ptr};
  int main(int argc, char ** args) {
     enum types params[10] = {0};
     void* triangle = dlopen("./foo.so", RTLD_LAZY);
     void * fun = dlsym(triangle, ars[1]);

     <<pseudo code>>
  }
Run Code Online (Sandbox Code Playgroud)

伪代码就像

fun = {}
for param in params:
      if param == None:
         fun += void
      if param == Bool:
          fun += Boolean
      if param == Integer:
          fun += int
      ...
 returnVal = fun.pop()
 funSignature = returnval + " " + funName + "(" …
Run Code Online (Sandbox Code Playgroud)

c dlopen

6
推荐指数
2
解决办法
3万
查看次数

标签 统计

c ×1

dlopen ×1