-2

完成したアプリケーションについて一般的な質問があります。Windows コンピューター アプリケーションのファイルにアクセスすると、実行可能ファイル、さまざまなメディア ファイル、.dll ファイルなど、いくつかのファイルがそこにある理由がわかります。何千もの異なるファイルが、何百もの異なるディレクトリ (階層を数えます) にあり、数十から数百の異なるファイルタイプがあります。一部のファイルタイプは実際のファイルのようにさえ見えず、拡張子が完全にわかりにくいものである可能性があります。アプリケーションはどのようにそれを処理するかを知っていますか? これらのファイルはすべて手書きでコンパイルされたものですか、それともデスクトップ アプリケーションの生成時に自動的に提供されるものですか (もちろん、アプリケーションによって異なります)。私' JavaScript を出発点として勉強してきたので、どの言語でも実際にアプリケーションをコンパイルしたことはありません。また、JavaScript はスタンドアロン アプリケーションを作成するためのものではなく、HTML 内に実装するために使用されることを認識しています。これが、アプリケーション自体の生成について非常に多くの質問がある理由です。

例を挙げると、Audacity アプリケーション フォルダに含まれている、認識できないファイル拡張子のいくつかは次のとおりです。.lsp .raw .mo .ny .exp

それでも、私が知らないファイルタイプ/拡張子の量と比較すると、非常に短いリストです。全体として、私の主な質問は、アプリケーションで使用されているファイル、フォルダー、およびファイルの種類/拡張子が非常に多いのはなぜなのかということです。うまくいけば、誰かが私を理解するのを手伝ってくれるでしょう。


追加の質問です。答えたい人のために:

Notepad++ (または .plist エディター) などのアプリケーションでファイルを開くと、読み取り不能な文字の集まりであるとはどういう意味ですか? それはコンパイルされたファイルであることを意味すると思いますが、いくつかの説明を使用できます。これは、.exe、.dll などを開こうとしたときに発生します。もちろん、テキスト エディターでそのようなものを編集できない理由は理解できますが、奇妙な記号や文字がすべて表示されるのはなぜですか? 開こうとしたときにエラーをスローしないのはなぜですか? すべての奇妙な文字は、既にコンパイルされたコードを解釈しようとする単なる方法ですか?

私はプログラミングにかなり慣れていないので、GUI ベースのデスクトップ アプリケーションを実際に生成するプロセスをよりよく理解しようとしています。前に言ったように、私の現在の知識は、実際にアプリケーションをコンパイルするところまで拡張されていません。

助けてくれてありがとう、本当に感謝しています。

4

2 に答える 2

0

このような「奇妙な」ファイルのほとんどは、アプリケーションの一部で必要なリソースです。複雑なアプリケーションは非常にモジュール化されており、各コンポーネントは実行時に決定される条件に応じて、さまざまな追加リソースをロードする必要がある場合があります。

たとえば、起動時に Qt ベースのアプリケーションがドイツ語の翻訳を使用する必要があると読み取った場合、他の言語ファイルも含むディレクトリから trans/de_DE.qm をロードすることがあります。または、ゲームは、どこまで進んだかに応じて、さまざまなファイルからレベルごとにロードされる場合があります。


2 番目の質問は非常に簡単です。ほとんどのリソース ファイルは、アプリケーション関数によってバイト ストリームとして読み取られます。たとえば、そのようなストリームに「005a」が 4 バイトとして含まれている場合、notepade.exe に奇妙なシンボルが表示されます。これは、エディターがそのようなバイトを ASCII コードとして解釈するためです。つまり、場所 0、0、5、およびASCII テーブルで。しかし、アプリケーションは実際には 4 x 8 ビット = 32 ビット値として読み取ります。これは、私の単純な例では、変数の 32 ビット整数値を意味する場合があります。したがって、変数値は 0x5a に設定されます。これは 10 進数の 90 です。

于 2013-05-29T14:33:30.213 に答える
0

追加の質問に焦点を当てます: バイナリ ファイルとテキスト ファイルが何であるかを学ぶ必要がありますが、簡単に言えば、結果をファイルに保存する単純な計算プログラムがあると想像してください。保存したい結果が数値 64 であるとしましょう。それを行うには、テキスト (文字 6 と 4) またはバイナリ データとして保存するオプションが必要です。

テキストとして保存する場合、2 バイトが必要です。1 つは文字 6 のコード用、もう 1 つは文字 4 用です。メモ帳でそのファイルを開くと、2 つの文字 '64' が表示されます。バイナリ値として保存する場合は 1 バイトしか必要ありませんが、メモ帳で開くと、コードが 64 の文字「A」が表示されます。

于 2013-05-29T14:41:44.133 に答える