C++のeval

[戻る]
marukosu 2002/02/22(金) 11:16:34
str1 = "MessageB";
str2 = "ox(hWnd, \"\", \"\", MB_OK)";

wsprintf(buf, "%s%s", str1, str2);

eval(buf);//MessageBox(hWnd, "", "", MB_OK);を実行させたい

C++のevalに相当する関数があったら教えてください。

[E-Mail] 2002/02/22(金) 13:44:08
つかぬ事をお伺いするんですけど、eval ってどこから出てきたものです?
VBじゃぁないですよね。
Cにもないと思うんですけど。

不良PG 2002/02/22(金) 13:54:28
evalはVBと言うよりVBScriptやJavaScriptでよく聞く関数ですね確か・・
Cには、ありませんね

sara 2002/02/22(金) 13:58:51
JScriptのevalメソッドのようなものがないかという質問と解釈しました。
結論から言うと、CやC++はスクリプト言語ではないので、そういう関数はありません。

実行時に文字列を解析して実行するような言語ではそういうことも可能ですが、CやC++は実行
前のコンパイル(機械語に翻訳)の段階でそういう解析が終了しているので、実行時に関数を文
字列指定で動的にコールすることはできません。

marukosu 2002/02/22(金) 14:32:23
[[解決]]
不良PGさんsaraさんありがとうございます。
検索しても小数しかヒットしなかったらやっぱりevalって無いんですね。
コンパイルする言語だからという説明がよく分かりました。

古いスレッドには追加発言できません。