2163980_ja-JP

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2163980_ja-JP

2163980_ja-JP

リンカーはリファレンスマニュアルに書かれているようにVLE関数間のギャップを圧縮しません。


「CodeWarrior Development Studio for
Power Architecture ®プロセッサ ビルド ツール リファレンス」には次のように記載されています。

-func_align
 
実行可能コード内の関数の配置を指定します。
 
構文
-func_align 4 | 8 | 16 | 32 | 64 | 128
 
備考
デフォルトの配置は 4 です。ただし、最適化レベル 4 では、アライメントは 16 に変わります。-func_align 4 (またはなし) を使用しており、VLE 用にコンパイルしている場合、リンカーは VLE 関数間のギャップを圧縮します。
• これらの関数がClassic PPC関数によって呼び出されない場合
• 関数のアライメントは 4 より大きい。

注:ギャップの圧縮は、CodeWarrior コンパイラによってコンパイルされたファイルでのみ行われます。

------------------------

質問:

1.ここに矛盾はありませんか、それともこれをどのように理解すべきでしょうか?

「-func_align 4 (またはなし) を使用しており、VLE 用にコンパイルしている場合、リンカーは VLE 関数間のギャップを圧縮します。」
 
「• 関数のアライメントは 4 より大きいです。」


2. 「クラシックPPC機能」とは何ですか?

3. 関数間にまだギャップ「00 00」があるのはなぜですか。VLE コードをコンパイルし、Codewarrior プロジェクト設定の「関数のアライメント」(コード生成 -> EPPC プロセッサ) が「4 バイト」に設定されています (添付ファイルを確認してください)。

 

 

Re: Linker does not compress gaps between VLE functions like Reference Manual say

FORCEFILES { "module.o"}


何らかの理由で、リンク元に約束を忘れる権利が与えられます。同じ問題が発生する場合は、モジュール名を削除してください。

Re: Linker does not compress gaps between VLE functions like Reference Manual say

UPD1: 空のプロジェクトを作成し、サンプル関数を入力しましたが、このプロジェクトでは関数間にギャップは生成されません。私はこれで遊んでいます

Re: Linker does not compress gaps between VLE functions like Reference Manual say

...添付ファイル...

Tags (1)
No ratings
Version history
Last update:
‎11-21-2025 06:51 AM
Updated by: