other linker flags

一个程序从简单易读的代码到可执行文件往往要经历以下步骤:

源代码 > 预处理器 > 编译器 > 汇编器 > 机器码 > 链接器 > 可执行文件

源文件经过一系列处理以后,会生成对应的.obj文件,然后一个项目必然会有许多.obj文件,并且这些文件之间会有各种各样的联系,例如函数调用。链接器做的事就是把这些目标文件和所用的一些库链接在一起形成一个完整的可执行文件。


主要参数

这里要说的主要参数是ld工具的参数,也是在Other Linker Flags里常用到的参数。

1.-ObjC

当使用ObjC写的静态类别库(Objective-C static library that contains categories),在程序编译链接时,如果不在Other Linker Flags中填写-ObjC,往往会报错,出现”selector not recognized”。博主无力,原因看不太懂。具体原因请查阅xcode帮助文档

-ObjC的作用是加载用ObjC实现的类、类别等所有成员。

2.-all_load

强制链接器加载所有包含非ObjC的目标文档。

3. -force_load

加载指定的目标文档。-force_load后面需要文档路径,如:

1
-force_load $(TARGET_BUILD_DIR)/libB.a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值