0

Currently, I embed lua in my c++ code.

I wonder if the same is possible with c++. That way I can pass objects and use libraries within the script. to do this, I think I would need the following from the master c++ code:

  1. execute the running of the script
  2. compile the script
  3. run the script
  4. the script passes pointer to it's data objects
  5. the script is done and the program uses the data objects.

is this possible? small example?

For me it is useful as I ran science calculation that I don't want to stop but i want to add functionality on the fly. I also see this being useful for servers in c++ that don't want to shut down but want to make a change.

4

1 に答える 1

2

ある種の C++ インタープリターの使用を選択することもできますが、すべてのことを実行できるわけではありません。C++ は、実装が最も難しい言語の 1 つです (それほど難しいとは言えませんが)。マクロ、テンプレート、および C++ を強力にする他のすべてのものについて考えてみてください。それらは解析して理解するのが非常に難しいことがわかっています。さらに、そのような高速で薄いコードを作成する最適化があります。そんなに強力で、これをすべて理解していますか?最も有名なコンパイラでさえ、すべての標準を理解できないか、少なくとも複雑な C++ コードを理解するためのエラーが発生する可能性があります。MSVC 2010 を使用してテンプレートを多用する私のプロジェクトの 1 つで、コードのコンパイルに約 10 分かかりました。したがって、インタープリターは通常、タスクを簡素化し、完全な C++ のサブセットのみをサポートするため、これに慣れている場合は、何らかのインタープリターを使用してください。cintいいね。

もう1つのオプションは、無料のコンパイラのようなものを持っていて、g++実際にコードをある種の共有ライブラリにコンパイルし、それを動的にロードして、ある種の構成に基づいてそこからいくつかの関数を呼び出すことです.

于 2012-10-20T23:19:44.513 に答える