我有点胡说八道。
我有一些 ObjC 代码,它定义了一个带有__attribute__((constructor)) void init
. 我将它静态链接到一些 MacOSX 应用程序。它还静态链接到其他一些 MacOSX 包。
在某个地方,我直接通过dlopen
. 第一个问题:这与加载它有什么不同[[NSBundle bundleWithPath:[NSString stringWithUTF8String:path]] load]
吗?
在init
中,我想获得一些关于进程环境的信息,例如这段代码是如何加载的。例如当前进程的二进制文件名(在任何情况下很可能是 Cocoa 应用程序)。也许更多。