golangは逆コンパイルできるのでしょうか?
Golang は逆コンパイルできません。理由: Golang はコンパイルされた静的言語です。Golang はコンパイル後にバイナリ ファイルを生成します。バイナリ ファイルは、ASCII および拡張 ASCII 文字で書かれたデータまたはプログラム命令を含むファイルです。これらのファイルには特殊な形式とコンピュータ コードが含まれているため、逆コンパイルできません。
このチュートリアルの動作環境: Windows 7 システム、GO バージョン 1.18、Dell G3 コンピューター。
Golang は逆コンパイルをサポートしていません。
理由:
Go 言語はコンパイルされた静的言語であるため、Go 言語プログラムを実行する前に、バイナリの実行可能ドキュメントにコンパイルする必要があります。
Golang はコンパイル後にバイナリ ファイルを生成します。バイナリ ファイルは、ASCII および拡張 ASCII 文字で書かれたデータまたはプログラム命令を含むファイルです。これらのファイルには特殊な形式とコンピュータ コードが含まれているため、逆コンパイルできません。
バイナリ ファイルの利点
バイナリ ファイルを使用する理由。おそらく 3 つの理由があります:
1 つ目は、バイナリ ファイルはスペースを節約し、文字データを保存する場合には 2 つのファイルに違いはありません。ただし、数値、特に実数を格納する場合は、バイナリの方がスペースを節約できます。たとえば、実数 *4 データ: 3.1415927 を格納するには、テキスト ファイルに 9 バイトが必要で、それぞれ: 3. 1 4 1 5 9 2 7 these 9 を格納します。 ASCII 値であるのに対し、バイナリ ファイルは 4 バイト (DB 0F 49 40) しか必要としません (DB 0F 49 40)
2 番目の理由は、メモリ内の計算に関係するデータがフォーマットされていないバイナリ形式で保存されるため、バイナリを使用してファイルに保存することは困難であることです。もっと早く。テキストファイルとして保存した場合は変換処理が必要です。データ量が多い場合、両者の速度には大きな差が生じます。
第三に、比較的正確なデータの場合、バイナリ ストレージを使用しても有効なビットが失われることはありません。
バイナリ ファイルを保存する方法
次のようにバイナリ ファイルをリストします。
00000000h:0F 01 00 00 0F 03 00 00 12 53 21 45 58 62 35 34; .........S!EXb54 00000010h:41 42 43 44 45 46 47 48 49 47 4B 4C 4D 4E 4F 50; ABCDEFGHIGKLMNOP
ここにリストされているものは、UltraEdit (UE) で表示されるものです。もの。実際には、赤い部分だけがファイルの内容です。前のものは UE によって追加された行番号です。以下は、UE が文字として解釈しようとする参照です。
このファイルの長さは 32 バイトです。それぞれ 16 バイトの 2 つの列として表示されます。実際、これは UE の単なる表示です。実際のファイルには個別の行はありません。このファイルの内容を知っているだけでは、説明がなければ有益な情報は得られません。
以下に説明を規定します。最初の 4 バイトは 4 バイトの整数データ (0F 01 00 00 16 進数: 10Fh 10 進数: 271) であると考えられます。この 4 バイトの後の 4 バイトは、さらに 4 バイトの整数データ (16 進数: 0F 03 00 00: 10 進数: 30Fh: 783) です。次の 4 バイト (12 53 21 45) は 4 バイトの実データを表します: 2.5811919E 3.次の 4 バイト (58 62 35 34) は、別の 4 バイトの実行データを表します: 1.6892716E-7。そして、最後の 16 バイト (41 42 43 44 45 46 47 48 49 47 4B 4C 4D 4E 4F 50) のみが 16 バイトの文字列 (ABCDEFGHIGKLMNOP) であると考えられます
実際には、バイナリ ファイルにはデータが格納されているだけです。たとえば、上記の 9 バイト目から 16 バイト目 (12 53 21 45 58 62 35 34) は、2 つの 4 バイトの実数型であると考えていましたが、実際には 8- バイトであると考えることができます。バイト文字タイプ (S!EXb54)。次の 16 バイト文字列 (ABCDEFGHIGKLMNOP) は、2 つの 8 バイト整数、4 つの 4 バイト整数、または 2 つの 8 バイト実数型と 4 つの 4 バイトの実数型などとみなすこともできます。
したがって、バイナリファイルを前にした場合、その意味を正確に知ることはできず、データの保存方法の説明が必要になります。この記述により、どのバイトから何バイトまでがどのようなデータであり、格納されているデータの意味は何かがわかります。そうでなければ、私たちは推測するか、無力になるしかありません。
【関連する推奨事項: Go ビデオ チュートリアル 、プログラミング教育 】
以上がgolangは逆コンパイルできるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Go Crawler Collyのキュースレッドの問題は、Go言語でColly Crawler Libraryを使用する問題を調査します。 �...

redisstreamを使用してGo言語でメッセージキューを実装する問題は、GO言語とRedisを使用することです...

Go言語での文字列印刷の違い:printlnとstring()関数を使用する効果の違いはGOにあります...

Golandのカスタム構造ラベルが表示されない場合はどうすればよいですか?ゴーランドを使用するためにGolandを使用する場合、多くの開発者はカスタム構造タグに遭遇します...

大企業または有名なオープンソースプロジェクトによって開発されたGOのどのライブラリが開発されていますか? GOでプログラミングするとき、開発者はしばしばいくつかの一般的なニーズに遭遇します...

GO言語で構造を定義する2つの方法:VARとタイプのキーワードの違い。構造を定義するとき、GO言語はしばしば2つの異なる執筆方法を見ます:最初...

マルチプロセスのログライティングの並行性セキュリティの問題を効率的に処理します。複数のプロセスが同じログファイルを同時に書き込みます。並行性が安全で効率的であることを確認する方法は?これは...
