关于dladdr函数参数的问题

The dladdr() function queries the dynamic linker for information aboutthe shared object containing the address addr. The information isreturned in the structure specified by info. The structure containsat least the following members


关于dladdr函数可以知道关于包含了这个地址的共享对象的动态链接的信息,这些信息会记录到info这个结构中,这个结构包含一下几个成员


constchar *dli_fname

The  pathname of the shared object containing the address.

这个路径是包含这个共享对象地址的文件路径,以我的理解就是调用这个函数的文件


void*dli_fbase


The base address at which the shared object is mapped into the addressspace of the calling process.

这个地址是这个共享库被映射到调用他的进程的地址空间中的地址


constchar *dli_sname


Thename of the nearest run-time symbol with a value less than or equalto addr. When possible, the symbol name is returned as it wouldappear in C source code. If no symbol with a suitable value is found,both this field and dli_saddr are set to NULL.


这个是在运行时的符号表中,小于或者等于addr(这个addr是参数传进来的)这个地址的最接近的符号,如果可能的话,那么就返回一个源码中的字符串,如果不行的话那就是使dli_saddrnull


void*dli_saddr


Thevalue of the symbol returned in dli_sname.

返回dli_sanme这个值的地址,通常是函数的地址


Thedladdr() function is available only in dynamically linked programs.


这个dladdr这个函数只对动态链接程序起作用。 

你可能感兴趣的:(c,object,function,less,structure,linker)