3

シェルから次の 1 つ以上を実行できるようにしたいと考えています。 - main だけでなく、プログラムから任意の関数を呼び出す - 文字列だけではない (argv だけでなく) パラメータを渡す - int だけでなくプログラムを返すようにする(メインからの戻りコード) - 戻り値をシェルレベル変数に割り当てて、それらを他のプログラムに渡すことができるようにします

あなたはアイデアを得る。たとえば、python toplevel は、python プログラムに対してこれを許可します。C++はどうですか?または、それを可能にする Linux の ELF の代替品はありますか?

4

5 に答える 5

2

これを行うオペレーティング システムを探している場合は、vxWorks シェル/C インタープリターがこれを行います。

しかし、これはリアルタイム オペレーティング システム (GUI なし) の vxWorks です。

于 2009-04-25T14:04:49.057 に答える
2

Windows の DLL などの動的ライブラリから特定の関数を名前で呼び出すことができるアプリを思いつくのはそれほど難しくありませんが、これらの関数が int、float、固定文字列などの限られた種類のパラメーター タイプのみを使用する場合に限ります。

ただし、ほとんどの C++ プログラムでは、これでは十分ではありません。たとえば、C++ 関数がソケットへの動的文字列の std::map をパラメーターとして受け取るとします。シェルでの内容は言うまでもなく、どのようにマップを作成しますか?

しかし、C++ を忘れることができれば、あなたが提案したことを正確に実行する言語兼オペレーティング システムが 1 つあります - Smalltalk です。このパラダイムに興味がある場合は、フリー ソフトウェアであるSqueakを参照してください。

于 2009-04-25T14:05:32.877 に答える
1

c-replを見たことがありますか?

于 2009-04-25T15:35:25.873 に答える
0

システムは完全に解釈されなければなりませんよね?そして、呼び出しているものの関数シグネチャをどのように知るのでしょうか?

于 2009-04-25T14:10:32.303 に答える