問題タブ [bytecode]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
vim - バイトコード対。解釈された
ある教授が、解釈されたコードはコンパイルされたコードよりも約 10 倍遅いと言っていたのを覚えています。インタープリターとバイトコードの速度の違いは? (バイトコードが JIT コンパイルされていないと仮定します)
vim スクリプトをバイトコードにコンパイルするというアイデアを蹴散らしている人がいるからです。私は、それによってどのようなパフォーマンスが向上するのか疑問に思っています。
python - コンパイルされたバイトコード ファイル (.pyc) を別のディレクトリに生成できますか?
Python がモジュールをバイトコードにコンパイルすると、.py ファイルから .pyc ファイルが生成されます。
私の質問は、これらの .pyc ファイルを、モジュールが存在する場所とは別のディレクトリに書き込むことは可能ですか?
たとえば、モジュールの大きなディレクトリがあります。.pyc ファイルをばらまくのではなく、ソース コードをディレクトリに保持し、すべての .pyc が格納される「bytecode」のようなサブディレクトリを作成したいと考えています。
これは可能ですか?
apache-flex - Flash アプリは Flex に依存します。SWF バイトコード サイズ オプティマイザーはありますか?
optimize=true でコンパイルされた、Flex を使用する Hello world アプリケーションのサイズは 178K です。アプリケーションのサイズを小さくするには?
私たちは RSL を使用したくありません。Flex を避けるのも好きではありません。
結果の SWF の大部分は未使用のバイトコードです。未使用のメソッドやクラスを削除したり、メソッドに短い名前を付けたりするなど、バイトコードを最適化するツールはありますか?
Javaバイトコード用のそのようなツールをいくつか知っています。SWF用のものはありますか?
java - Java バイトコードを他の表現やプログラミング言語に変換する
Java バイトコードを他のプログラミング言語に変換する方法/ツール/プロジェクトを探しています。それができない場合は、少なくとも構造化表現 (XML など) に変換します。当然、理想的にはオープンソースです。
「バイトコード操作および分析フレームワーク」であるASMを見てきました。他の表現への変換はサポートしていませんが、そのようなプロジェクトの優れた基盤のようです。悲しいことに、ユーザー ページにリストされているプロジェクトのどれもそれに近づきません。
java - コンパイルされた Java .class ファイルのレイアウトに影響を与える設定は何ですか? コンパイルされた 2 つのクラスが等しいかどうかは、どうすればわかりますか?
組み込みの Eclipse の「コンパイル」タスクでコンパイルされたアプリがあります。次に、ビルド プロシージャを Ant の に移動することにしましjavac
た。その結果、ファイルが小さくなりました。
後で、debuglevel を"vars,lines,source"
に調整すると、Eclipse と同じデバッグ情報を埋め込むことができることがわかりました。多くの場合、ファイルはまったく同じサイズのままでしたが、内部レイアウトは異なっていました。その結果、md5sum 署名を使用して、それらがまったく同じバージョンであるかどうかを判断できませんでした。
デバッグ情報以外に、等しいと思われる 2 つのファイルの内部レイアウトまたはサイズが異なる理由は何ですか?
また、コンパイルされた .class ファイルをどのように比較できますか?
.net - .NET IL コードの逆コンパイルが簡単なのはなぜですか?
ネイティブ x86 バイナリの逆コンパイルと比較して、.NET IL コードをソース コードに逆コンパイルする方が簡単なのはなぜですか? (Reflector はほとんどの場合、非常に優れたソース コードを生成しますが、C++ コンパイラの出力を逆コンパイルすることはほとんど不可能です。)
IL に多くのメタデータが含まれているためでしょうか。それとも、IL が x86 命令よりも高度に抽象化されているためですか? いくつかの調査を行ったところ、次の 2 つの有用な記事が見つかりましたが、どちらも私の質問には答えていません。
java - Javaバイトコードにコンパイルします(Javaを使用せずに)
私のコンパイラクラスは、Javaバイトコードにコンパイルする予定の言語を作成しています。私たちは多くの進歩を遂げ、コード生成の時期に近づいています。
コンパイラから.classファイルを作成する方法に関する情報を見つけるのに問題があります。私たちに援助を与えることができるリソースはありますか?命令セットに関するドキュメントはすでにたくさんありますが、クラスファイルに直接入力する方法/16進数の書き込みに関する情報が必要です。
.classファイルの逆コンパイルに関する情報や提案は必要ありません。
.classファイルを最初から書き出す簡単な例でも優れています。
JVM仕様は、私たちが求めているものではありません。私たちが本当に必要としているのは、例またはウォークスルーです。