これが私がやりたいことです:
- プログラムを実行し、いくつかのデータ構造を初期化します。
- 次に、既存のデータ構造にアクセス/変更できる追加のコードをコンパイルします。
- 必要に応じて手順 2 を繰り返します。
Unix ライクなシステム (特に Linux と Mac OS X) でC
とC++
を使用してgcc
(そして最終的には)両方でこれを実行できるようにしたいと考えています。Java
アイデアは、基本的にこれらの言語に対して、入力された式とステートメントをコンパイルし、それらを使用して既存のデータ構造を変更する read-eval-print ループを実装することです (スクリプト言語では常に行われていることです)。/ファイルpython
を生成するこのツールを で書いていますが、これは関係ありません。C
C++
共有ライブラリでこれを行うことを検討しましたが、共有ライブラリを変更しても、既に実行されているプログラムには影響しないことがわかりました。共有メモリも使用してみましたが、関数をヒープにロードする方法が見つかりませんでした。アセンブリ コードの使用も検討しましたが、まだ試していません。
gcc
でそれを行う方法がまったくない場合を除き、コンパイラを使用しないことをお勧めしgcc
ます。
誰かがアイデアを持っているか、これを行う方法を知っている場合は、どんな助けでも大歓迎です。