シミュレートするために、mipsの逆アセンブリを生成しています。作業するにはビッグデータが必要ですが、大きなアセンブリファイルは必要ないので、初期化されていない大きな配列で作業したいと思いました(そして、シミュレーターで初期化する可能性があります...)。したがって、この配列はグローバルである必要があります。また、グローバル変数は、ページが実際にアクセスされたときに初期化される.bssセクションに配置されているようです。問題は私のバイナリにあり、配列は.bssセクションにありますが、明示的にゼロで埋められています...これは、インターネットで見つけたものを正しく理解した場合に期待される動作ではありません...と言う方法はありますかコンパイラ(またはリンカ、またはローダー...どちらがそのために何をするのかよくわかりません)は、この配列に実際にゼロを入れないのですか?または、コンパイル中にオプションを選択したり、C命令を実行して、コンパイルしないようにすることもできます。この配列を0で初期化する必要がありますか?(配列セクションを次のように変更しようとしました属性ですが、まだ0で初期化されています)。
ちなみに、私はobjdumpを使用して逆アセンブリファイルを生成しており、通常はゼロのブロックをスキップしますが、他のゼロのブロックを逆アセンブルする必要があるため、「-z」オプションを使用します。
私が本当に理解していないのは、どこを見ても、.bssセクションはバイナリファイルに実際にはゼロを入れていないと言われたことです...