上述代码主要是对args->new进行赋值,不过是通过_dl_open函数来进行的,这个GLRO(dl_open)实际上就是_dl_open函数,因此下一步又需要去查看_dl_open函数,此时_dl_open函数就已经不再是定义在dlopen.c中了,而是dl-open.c中。 暂且将dlopen.c文件中的调用关系称为第一层调用吧,其具体图示如下所示: 二、glibc/...
dlopen函数如下: 1.void * 2.dlopen (const char *file, int mode) 3.{ 4.return __dlopen (file, mode, RETURN_ADDRESS (0)); 5.} 它实际上是调用了__dlopen函数,我们在进入到__dlopen函数中 1.void * 2.__dlopen (const char *file, int mode DL_CALLER_DECL) ...