iPhone开发--Xcode中的ld64和-ld_classic是什么意思

如下内容,翻译自官方论坛文档

文档地址如下:

https://developer.apple.com/forums/thread/715385

关键内容摘抄如下:

A static library is an archive of one or more object files. It has the extension .a. Use ar, libtool, and ranlib to inspect and
manipulate these archives. The static linker, or just the linker, runs
at build time. It combines various inputs into a single output.
Typically these inputs are object files, static libraries, dynamic
libraries, and various configuration items. The output is most
commonly a Mach-O image, although it's also possible to output an
object file. The linker may also output metadata, such as a link map.
The linker has seen three major implementations: ld --- This dates from
the dawn of Mac OS X. ld64 --- This was a rewrite started in the 2005
timeframe. Eventually it replaced ld completely. If you type ld, you
get ld64. ld_prime --- This was introduced with Xcode 15. This isn't a
separate tool. Rather, ld now supports the -ld_classic and -ld_new
options to select a specific implementation. Note During the Xcode 15
beta cycle these options were -ld64 and -ld_prime. I continue to use
those names because the definition of new changes over time (some of
us still think of ld64 as the new linker ;--).

翻译

静态库是由一个或多个目标文件组成的存档,它使用 .a 作为文件扩展名。可以使用 ar、libtool 和 ranlib来检查和操作这些存档。

静态链接器(static linker),或者直接叫链接器(linker),在构建时运行。它将各种输入组合成一个输出。这些输入通常是对象文件、静态库、动态库以及各种配置项。输出最常见的是Mach-O 映像,不过也可以输出一个对象文件。链接器还可以输出元数据,例如link map。

链接器经历了三个主要实现:

ld ------ 这可以追溯到 Mac OS X 开始的时期。

ld64 ------ 这是一个 2005 年时段开始的重写。最终它完全取代了 ld。如果输入 ld,你获得的就是 ld64。

ld_prime ------ 这是随着 Xcode 15 引入的。这不是一个单独的工具。相反,ld 现在支持 -ld_classic 和

-ld_new 选项来选择特定实现。

注意:在 Xcode 15 beta 阶段,这些选项是 -ld64 和-ld_prime。我继续使用这些名称,因为新旧的定义会随时间变化(我们中的一些人仍然认为 ld64 是新的链接器;-))。

相关推荐
2501_915909063 小时前
Charles 抓不到包怎么办?iOS 调试过程中如何判断请求路径
android·ios·小程序·https·uni-app·iphone·webview
2501_916007473 小时前
iOS和iPadOS文件管理系统全面解析与使用指南
android·ios·小程序·https·uni-app·iphone·webview
2501_915921437 小时前
iOS App 开发阶段性能优化,观察 CPU、内存和日志变化
android·ios·性能优化·小程序·uni-app·iphone·webview
游戏开发爱好者89 小时前
在 iOS 开发、测试与上架过程中 如何做证书管理
android·ios·小程序·https·uni-app·iphone·webview
2501_9160074710 小时前
在没有 Mac 的情况下完成 iOS 应用上架 App Store
android·macos·ios·小程序·uni-app·iphone·webview
TheNextByte110 小时前
iPhone存储空间已满?如何轻松释放iPhone空间?
android·ios·iphone
2501_9160088920 小时前
iOS 上架需要哪些准备,账号、Bundle ID、证书、描述文件、安装测试及上传
android·ios·小程序·https·uni-app·iphone·webview
游戏开发爱好者81 天前
如何在 Windows 环境下测试 iOS App,实时日志,CPU监控
android·ios·小程序·https·uni-app·iphone·webview
牛奔2 天前
Go语言中结构体转Map优雅实现
开发语言·后端·macos·golang·xcode
2501_915921432 天前
如何在苹果手机上面进行抓包?iOS代理抓包,数据流抓包
android·ios·智能手机·小程序·uni-app·iphone·webview