iOS   发布时间:2022-05-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了objective-c – 在Xcode项目目标构建设置中,什么是Mach-O Type?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

在厌倦了众多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平台上.这意味着图书馆客户端必须为模拟器和设备设置单独的目标.单独的目标重复大部分信息,只有包含的静态库才有所不同.所以如果你得到@L_967_18@mach-O链接错误,这意味着xcode无法链接到该目标设备的一个库;因此编译失败.

现在你的定义 –

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

大佬总结

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

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。