问题标签 [mach-o]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - IOS 上的 LC_LOAD_DYLINKER 和自定义链接器
在查看 Mach-O 文件支持的 LC_ 命令列表时,我注意到 LC_LOAD_DYLINKER 命令,它指定使用哪个动态链接器。
在 IOS 上,这似乎总是指向同一个位置,即设备上的标准 DYLD。
我很好奇 IOS 是否支持使用此命令的自定义链接器,如果支持,它们是否有任何创建链接器的指南?有没有人这样做过?
objective-c - 具有可达性的 Apple Mach-O 链接器 (Id) 错误
当我尝试构建使用可达性的项目时,我不断收到此错误(该错误仅在我尝试实现可达性后出现):
我在互联网上阅读了其他一些帖子,但似乎没有任何效果。我添加了 SystemConfiguration.framework (项目,构建阶段,+),但这不起作用(当错误出现时我已经添加了它)。这是我实现文件的方式:
然后在.m中:
因此,如果您能提供帮助,那就太棒了!谢谢 ;) 卢克
linker - 如何解析 dyld 导入的符号?
我正在尝试实现 dyld 所做的某些部分,但我有点卡在 stub trampolines 上。
考虑以下 ARM 指令:
它通过链接(子过程调用)分支到 0x2fec。我知道这样一个事实,在 __TEXT 段中有一个 __symbolstub1 部分从 0x2fd8 开始,所以它是 __symbolstub1 内部的 20 个字节的跳转。
现在有一个符号
我已经通过 LC_SYMTAB 加载命令解决了。没有提供已知地址。事实上,我知道 0x2fec 地址是 _objc_autoreleasePoolPush 的蹦床,但我无法通过任何方式证明这一点。
我检查了 LC_DYLD_INFO_ONLY 命令,在我发现的lazy_bind 符号中,我有一点提示:
其中名称和偏移量与我所拥有的完全匹配,并且库#6 是“/usr/lib/libobjc.A.dylib”,这也是完美的。现在的问题是段#2 是__TEXT,但__TEXT 从0x1000 开始,而__symbolstub1 在0x2fd8 处。所以我错过了一些参考。
关于我应该如何将 0x2fec 虚拟地址映射到 _objc_autoreleasePoolPush 的任何想法?
macos - OS-X 上的 GNU 链接器-GAS
我正在尝试编写一些“独立”(没有操作系统直接运行的程序的名称是什么?)代码,并且看到 OS-X 链接器不支持链接器脚本或平面二进制输出,我假设它最好改用 GNU 链接器。
有没有办法在没有所有 GCC 的情况下只安装/编译 GNU 链接器?
编译的 GNU 链接器是否能够理解 OS-X 版本的 GAS 汇编器输出的目标文件?
如果我不能只编译链接器,那么编译 GCC 的最佳方法是什么?
注意:我要编译,而不是使用包系统。
xcode - ld:找不到 -lFlurryWithLocation 的库
我刚刚从 SVN 签出了一个旧项目以进行我的工作,当我尝试构建它时,我遇到了 6 个错误。我无法解决其中的 2 个问题。所以第一个是关于 Flurry 库的。
这是错误:“我替换了应用程序购买APPNAME的名称”
有人可以帮我吗..?我没有更多的想法。。
ios - Apple Mach-O 链接器错误 (5)
每当我尝试构建我的项目(它同时具有IFUnicodeURL和JSON)时,我都会不断收到这 5 个 Mach-O 错误。
架构 armv7 的未定义符号:
我不知道如何阅读这些东西,这让我发疯。有人可以帮我吗?任何帮助,将不胜感激。提前致谢。
macos - dylib 中的可编辑/可修补资源?
有没有办法在 Mach-O dylib 中嵌入资源(例如字符串/图像),以便它们在构建后可编辑?类似于 PE 文件中的资源。
我知道我应该改用 Bundles,但请幽默 ;-)
c++ - 尝试在 Xcode 中编译时出现 Mach-O 错误
我正在使用 Xcode 中的 C++ 程序,当我尝试构建和运行应用程序时,我不断收到 Mach-O 错误(加上“构建失败”错误消息)。下面是我正在使用的代码:
错误消息类似于:
xcode - /usr/include/mach-o/loader.h 来自哪里?
似乎我的一些 Mac OS X 系统有 /usr/include/mach-o/loader.h 而其他没有。我很困惑,因为这里记录了这个文件:
例如:
有谁知道这个文件是否在任何较新版本的 Mac OS X 上被删除?或者如果我需要安装一个特殊的 SDK 来获得它?