0

タイトルが少しわかりにくい場合は申し訳ありませんが、私はネイティブスピーカーではなく、アイデアをまとめるのに少し苦労しました...

実行するプロシージャのコレクションをコンパイルしてメモリに作成するために必要なすべての関数とオブジェクトがあり、それらのアドレスとサイズがわかっているとすると、基本的には疑似「バイナリ」ファイルを使用してプログラムのフローを制御するにはどうすればよいですか。 「このデータをこの関数のアドレスにプッシュし、この関数アドレスを呼び出し、戻り値をこの関数アドレスにプッシュする」などのスクリプト...

基本的に、相互接続されたオブジェクトのコレクションと静的ロジックにアクセスし、それらのメモリアドレスを介して動的に制御するには、疑似「マシン」コードを処理する必要があります。

ありがとう!

編集:質問を閉じる前に、必要な特定の情報を実際に提供していない質問の複製として、いくつかのコードスニペットを投稿してください。

EDIT2:以下のコメントからこれを追加しました、おそらくそれは私の質問にもっと明確になるでしょう:

プログラム全体をコンパイルする代わりに、コンパイル済みのコンポーネントを使用して、外出先で動的オブジェクトを作成しようとしています。オブジェクトのツリーはディスクにシリアル化して瞬時に再作成できるため(オブジェクトごとではなく、ツリー全体をプールに割り当てる)、動的プログラムを作成し、ディスクに保存してメモリに再構築する方法があります。すべての設計時識別子がそれらのアドレスに置き換えられました。今必要なのは、そのプログラム構造全体を実行する方法だけです。

4

2 に答える 2

0

言語を解釈したいマシン用のエミュレーターを作成する必要があるようです。これはそれを行う方法を説明するリンクです。

于 2012-01-17T14:19:16.420 に答える
0

これは本質的にJava仮想マシンが行うことであり、他の人がマシンと呼んでいるものだと私は信じています。それはおそらくあなたが構築する必要があるものであるインタプリタです。

私があなたの言ったことを理解していると仮定すると、答えはノーです、そうではありません。プログラムの状態を作成し、ロジックフローを制御するために何かを行う必要があります。これは、インタプリタと「マシン」が行うことです。

コードファイル(プログラムの実行方法を指示するファイル)を読み取るフロントエンドが必要になります。フロントエンドは「ロジックファイル」を読み取り、フロントエンドが各オブジェクトを呼び出すために学習したロジックを実行します。これは、同じことを行うスマートプラグインをリンクすることで作成できます。オブジェクトからプログラム状態を構築します。ただし、インスタンスごとに1つずつ、さまざまなプラグインが必要です。

いずれにせよ、オブジェクトをリンクして、誰がどの順序で実行され、誰が実行されないかをオブジェクトが知ることを期待する方法はありません。ファイルの「スマート」をなんとかして実行に移す必要があります。スマートをオブジェクトライブラリの外部に配置する必要があるため、リンクだけでは機能しません。

于 2012-01-17T15:05:17.973 に答える