私にはいくつかのアイデアがあります:
char* test = "testInteger(5).workOnReturn("doIt")[10]"
int ret = execute(test);
「extern」キーワードを使用するとどうなりますか?
C++ の実装とクラスがたくさんあるとします。「extern」を使用して C で同じものを定義し、ダミーの実装を提供して、実行時に実際の実装で C++ ライブラリにアクセスすることはできませんか?
おそらく、GCC コンパイラーをカスタマイズして (例えば、MELT拡張機能を使用して)、何らかの方法でライブラリーへの C インターフェースを生成することができます (おそらく、関連する C++ 関数に独自の#pragma
-s で注釈を付けることにより ....) 。
しかし、あなたの質問は曖昧すぎて、より正確な答えを得ることができません。
C++ ライブラリとは何ですか? C++ でどのように使用する必要がありますか?
他の C++ ライブラリが C にどのように接続するかを見てください。たとえば、 PPLのソース コードの中を見てください。
C から C++ を使用したい場合は、C++ コードが明示的にビルドされている限り、非常に限られた方法でしか実行できません (つまり、基本的に C++ C++ を作成するためのほとんどを破棄することを意味します)。あなたの場合は起こりません。
C++ を使用するか、C 用のライブラリを入手することで解決できます。それ以外の方法は、意味をなさないほど害があります。