1

このコマンドgcc -c a.c b.c c.cは、ソースファイルがコマンドラインで異なる順序で並べられている場合とは異なるバイナリを生成します。セキュリティ上の理由から、ファイルがビルドされるたびにバイナリの順序を変更したいと思います。これを行うためのgccの組み込みオプションはありますか?または、ソースファイルを手動で並べ替えるよりも優れた方法はありますか?

4

1 に答える 1

1

確率的に異なることを気にしない場合は、入力をランダム化する小さなシェル スクリプトを作成できます。

gcc -c $(ls *.c | sort --random-sort) -lwhatever

もちろん、ls(1)一般的に出力を解析するのは危険ですが、これらはソース ファイルであるため、名前には慎重を期し、改行は避けてください。

もちろん、欠点は、複数の実行で同じランダムな順序になる可能性があることです。それが人生だ。

于 2012-05-09T02:18:35.043 に答える