【问题标题】:Regarding LLVM compiling flag "-mlong-calls" for "Other C Flags" in XCode.关于 XCode 中“其他 C 标志”的 LLVM 编译标志“-mlong-calls”。
【发布时间】:2012-09-09 09:41:57
【问题描述】:

这个标志是什么意思?它将如何使用?出于什么目的需要启用此标志?

【问题讨论】:

    标签: xcode llvm


    【解决方案1】:

    根据ARM options page for GCC;

    告诉编译器通过首先加载 函数的地址存入寄存器,然后执行 在这个寄存器上调用子程序。如果目标,则需要此开关 功能位于 64 兆字节的寻址范围之外 基于偏移量的子程序调用指令。

    基本上,这意味着如果您的二进制文件很小,您可能永远不会遇到运行默认-mno-long-calls 的问题,并且不必担心该选项。

    如果链接器给你错误Relocation truncated to fit: R_ARM_PC24,你已经达到了默认值的限制,需要使用-mlong-calls编译和链接你的二进制文件。

    【讨论】:

    • 我明白了,只与链接地址有关,与应用性能无关。
    猜你喜欢
    • 1970-01-01
    • 2015-09-29
    • 1970-01-01
    • 1970-01-01
    • 2012-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-04
    相关资源
    最近更新 更多