Unix 実行可能ファイルをテキスト エディターで開くと、コンパイラーからのマシン コードが圧縮されていることが明らかです。私が言っていることが間違っている場合は修正してください。ただし、圧縮されているため、コンパイラ (LLVM を使用) はどの圧縮アルゴリズム (zip、gzip など) を使用していますか?
質問する
138 次
2 に答える
2
Unix実行可能ファイルをテキスト エディタで開くと[...]
UNIX のフレーバーにもよりますが、現在の UNIX 実行可能ファイルは通常、圧縮されていないELF 形式です。もちろん、手動で圧縮することはできますが、最初に解凍しないと、リンクしたりロードしたりすることはできません。いずれにせよ、GCC も Clang も出力バイナリを自動的に圧縮しません。
また、テキスト エディターで実行可能ファイルを開こうとした理由がよくわかりません。バイナリを確認したい場合は、 16 進エディターなどのバイナリ ファイル用の適切なビューアーを探す必要があります。内部のコードのより読みやすいバージョンを見たい場合は、逆アセンブラーを使用する必要があります。
于 2013-09-13T17:28:23.197 に答える
-2
ですbzip2
。llvm-ld v. 1.4 で実装されました。
bzip2 によるバイトコード圧縮が実装されました。LLVM によって生成されたすべてのバイトコード ファイルは、デフォルトで圧縮されるようになりました。圧縮は、バイトコード ファイルを生成できるツールの -disable-compression オプションで無効にできます。
于 2013-09-12T20:51:21.950 に答える