我在Windows上有一个函数可以获取buf中模块的地址:
GetModuleFileName(0, buf, buf_size);
我想在Linux上做同样的事情(我对Linux不太了解)。我发现函数dladdr(X, &dlInfo)
似乎做了正确的事情。据我所知,我得到了dlInfo
中X
的名称和其他细节(dli_sname
,dli_saddr
,dli_fname
,..)。
但是X
是什么呢?我知道它是一个地址。但是是哪一个呢?我怎么用它来获得和在Windows上一样的结果呢?
1条答案
按热度按时间lc8prwob1#
X
是任何感兴趣的地址,通常是感兴趣的模块函数的地址,如果你想得到当前的模块名,X
可以是调用者的地址