このフラグは何を意味しますか? どのように使用されますか?このフラグを有効にする必要があるのはどのような目的ですか?
質問する
821 次
1 に答える
2
GCCのARMオプションページによると;
最初に関数のアドレスをレジスターにロードし、次にこのレジスターでサブルーチン呼び出しを実行することによって、関数呼び出しを実行するようにコンパイラーに指示します。このスイッチは、ターゲット関数がサブルーチン呼び出し命令のオフセット ベース バージョンの 64 メガバイト アドレス指定範囲外にある場合に必要です。
基本的に、バイナリが小さい場合、デフォルトの実行で問題が発生することは-mno-long-calls
なく、オプションについて心配する必要がないことを意味します。
リンカでエラーが発生Relocation truncated to fit: R_ARM_PC24
した場合は、デフォルトの制限に達しているため、.xmlを使用してバイナリをコンパイルおよびリンク-mlong-calls
する必要があります。
于 2012-09-09T09:54:56.870 に答える