马赫数';ELF/linux中的两级名称空间符号解析

马赫数';ELF/linux中的两级名称空间符号解析,linux,macos,linker,elf,mach-o,Linux,Macos,Linker,Elf,Mach O,有人知道ELF/linux中Mach-O的两级名称空间符号解析的等价物吗?我想要链接到lib+sym而不是sym的代码 我正在尝试做一件可以最好地描述为JIT编译的预编译的事情。我想获得符号的编译时绑定,这通常由dlopen/dlsym完成。但是,可能存在冲突,dlopen/dlsym可以很好地避免这些冲突 似乎ELF实际上缺少这一点,并且有版本的东西,但是任何解决方法或建议都将不胜感激。没有ELF等价物(通常不需要).听起来你想要dlmopen我想会有很多人知道ELF和Linux,但对Mach

有人知道ELF/linux中Mach-O的两级名称空间符号解析的等价物吗?我想要链接到lib+sym而不是sym的代码

我正在尝试做一件可以最好地描述为JIT编译的预编译的事情。我想获得符号的编译时绑定,这通常由dlopen/dlsym完成。但是,可能存在冲突,dlopen/dlsym可以很好地避免这些冲突


似乎ELF实际上缺少这一点,并且有版本的东西,但是任何解决方法或建议都将不胜感激。

没有ELF等价物(通常不需要).

听起来你想要
dlmopen

我想会有很多人知道ELF和Linux,但对Mach-O一无所知,比如我自己。你可能想扩展你的问题,简单地解释一下你到底想达到什么目的。我只是更新了它来做到这一点。。。第一段的最后一句解释了目标,接下来的两段解释了原因。你的问题现在对我来说完全是胡言乱语(我确实理解ELF和(在较小程度上)Mach-O)。你不太可能以目前的形式得到这个问题的好答案。我建议你试着去扩展和澄清它,也许可以用一个例子来说明你实际上在做什么,比如说你正在把一种传统的解释语言编译成机器代码。这种语言有一个FFI,允许您按照路径\到\库+符号\名称导入符号。我们的目标是编译这个引用语义的符号,直至平台特定的动态链接,而不使用dlopen/dlsym。Mach-O有一种消歧机制,允许您以这种方式指定未解析的符号,从而使动态库之间的符号冲突在Mac上不再成为问题。Windows除了LoadLibrary/GetProcAddress之外没有其他机制,因此没有问题。问题是:ELF可以做类似的事情吗?谢谢你的澄清。ELF与Windows处于完全相同的位置——除了
dlopen
/
dlsym
之外,没有其他机制。虽然确实没有对等的机制,但我还是要质疑不需要这种机制的断言。在Linux上,平面名称空间(这里描述:)的问题非常真实。