我有一个问题,我需要知道当前二进制文件的文件系统路径,以及任何加载(而不是加载)二进制文件的文件系统路径。下面是一个示例(对于Windows):假设我们有一个可执行文件A.exe
,它动态绑定到B.dll
,后者又绑定到C.dll
。如何在C.dll
中执行代码获取C.dll
,B.dll
和A.exe
的文件路径?
哦,我需要能够在Linux,Mac和Windows上完成它。
在 Linux 上,我发现的最接近的是dl_iterate_phdr
,但是缺少了谁加载的信息。
在 Windows 上,Dynamic-Link
功能没有相应的功能。
在 Mac 上,我所能找到的就是dlfcn.h中的内容,这对于此目的而言非常精辟。
感谢。