objective-c – 在Xcode项目目标构建设置中,什么是Mach-O Type?

objective-c – 在Xcode项目目标构建设置中,什么是Mach-O Type?,第1张

概述在厌倦了众多Match-O链接器错误之后,我想知道这个东西的意思.而不是试错解决方案,我想知道这些事情背后的概念.具体我想知道的区别是: >可执行文件 >动态库 >捆绑 >静态库 >可重定位对象文件 这些是当我点击链接部分的Mach-O Type设置时显示的选项.一些小的定义或一些链接到适当的内容也可以. Mach-O是Mach对象文件格式的缩写,是可执行文件,对象代码,共享库,动态加载代码和核心 在厌倦了众多Match-O链接器错误之后,我想知道这个东西的意思.而不是试错解决方案,我想知道这些事情背后的概念.具体我想知道的区别是:

>可执行文件
>动态库
>捆绑
>静态库
>可重定位对象文件

这些是当我点击链接部分的Mach-O Type设置时显示的选项.一些小的定义或一些链接到适当的内容也可以.

解决方法 Mach-O是Mach对象文件格式的缩写,是可执行文件,对象代码,共享库,动态加载代码和核心转储的文件格式.对于unix用户,这就像a.out,但是有改进.这是Mac OS X和iPhone OS库中可执行文件使用的格式.

如您所知,iOS设备(iPhone,iPad等)具有不同的架构ARMv6(iPhone 2G 3G,iPod touch)和ARMv7(iPhone 3GS,iPod touch 2G 3G),但Xcode中使用的模拟器主要运行在i386平台上.这意味着图书馆客户端必须为模拟器和设备设置单独的目标.单独的目标重复大部分信息,只有包含的静态库才有所不同.所以如果你得到一个Mach-O链接器错误,这意味着xcode无法链接到该目标设备的一个库;因此编译失败.

现在你的定义 –

>可执行程序 – 编译机器目标程序准备以二进制格式运行.>动态库 – 在运行时链接 – 具有对动态库的引用的程序将在启动(或按需)时加载和链接库.>软件包 – 捆绑标识符可让iOS和OSX识别您应用程序的任何更新.它使它在应用程序中独一无二.>静态库 – 文件在构建时链接.代码被复制到可执行文件中.程序中未引用的库中的代码被删除.只有静态库的程序在运行时没有任何依赖关系.>可重定位对象文件 – 是动态库的另一个单词.当链接到动态库时,根据库在内存中的加载位置来计算内部函数的地址.它们是“可重定位的”,因为所包含的功能的地址在链接时没有确定. (在静态库中,在链接时间期间计算地址.)

总结

以上是内存溢出为你收集整理的objective-c – 在Xcode项目目标构建设置中,什么是Mach-O Type?全部内容,希望文章能够帮你解决objective-c – 在Xcode项目目标构建设置中,什么是Mach-O Type?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1061819.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存