我在linux上有一个共享库,我希望能够确定我的库是由链接器隐式加载还是显式加载(由dlopen)。
在Windows上,DllMain提供以下信息:
如果fdwReason是DLL_PROCESS_ATTACH,则动态的lpvReserved为NULL 加载和静态加载非NULL。
我知道gcc中的__attribute__ ((constructor)
,但是没有提供关于是否隐式或显式加载库的信息。
有没有办法确定这些信息?我看过dl_iterate_phdr,但我没有看到任何有用的东西,但也许我错过了什么。