首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是LDFLAGS:-Wl,-segalign,4000

什么是LDFLAGS:-Wl,-segalign,4000
EN

Stack Overflow用户
提问于 2019-08-21 09:28:08
回答 1查看 461关注 0票数 3

所以我偶然发现了一个cydia的更新笔记:

0.9.6010修复了32位armv7切片,这是防止扩展加载到Cydia中的.(请注意,由于苹果的更改,所有32位二进制文件,特别是扩展,必须使用-WI、-segalign,4000 for iOS 9重新编译。尚未重新编译的扩展可能会“幸运”并正常工作,但它们通常会失败甚至崩溃。

我想在这里问一下,每个标志-WI-segalign4000的含义是什么,尤其是-WI还是-Wl?如果只用于arm64设备,我们还需要它吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-29 19:08:41

下面是分割成两部分的旗帜:

  • -Wl From clang文档,这是一个命令行标志,允许您将参数直接传递给链接器(clang是调用链接器的驱动程序,-Wl意味着下面的昏迷分隔参数被转发给链接器,而不是由编译器使用)
  • segalign马赫链接器文档,这指定了段对齐(段如二进制文件段,请参见维基百科)。在这种情况下,每个段必须对齐到16384字节(或者,十六进制中的0x4000 )。
  • 4000是对齐的值(它是-segalign标志的一部分)。

如果只用于arm64设备,我们还需要它吗?

您指的是特定于Armv7的修复/注释。除非说明中也提到了arm64,否则我认为可以安全地假定arm64不需要该标志。不过这只是猜测而已。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57588524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档