C 中等效的 python exec/eval 命令
The equivalent python exec/eval commands in C
C 中有 exec() / eval() 函数吗??
例如..
exec(printf(3 + 4))
或
eval(printf(3 + 4))
我已经在 python 中完成了此操作...但我不知道如何在 C 和 C 语言中执行此操作..
我知道这在 python 中可能是有害的,因为它可以接受任何输入.. 为了克服这个问题,我来到了更严格的 C
这只是一个实验,我很想知道
如有解释,将不胜感激
我正在使用 sublime text(以防万一...:])
Python 是一个简化的 Lisp,在 Lisp 中有 eval/apply paradigm. In C this paradigm exists only inside the compiler. The compilation system of C uses eval/apply, also called the Maxwell equations of software。但是在用户级别,您不会与 eval/apply 交互,只有当您 write/develop 在 C 中使用您处理的语言的编译器时。
所以在 C 中你需要自己实现这个,以防你开发某种图灵完备的语言(图灵机等同于 eval+apply 循环)。
eval()
函数是 基于解释器的语言 的典型特征。解释器是一个 "compiler on the fly",它解释(因此得名)程序文本并立即执行程序命令。
基于解释器的语言要求程序 运行ning 可以读取程序文本并执行其指令。
C 是一种基于编译器的语言,这意味着程序文本被翻译"off-line" 成可以运行 的可执行格式没有 解释程序文本的程序。
因为 C 没有这样的解释器程序 运行ning(所以该程序没有语言系统 "on board"),它无法解释 运行ning 中的 C 程序文本。 =11=]函数。因此,C 中不存在此类函数。
C 中有 exec() / eval() 函数吗??
例如..
exec(printf(3 + 4))
或
eval(printf(3 + 4))
我已经在 python 中完成了此操作...但我不知道如何在 C 和 C 语言中执行此操作..
我知道这在 python 中可能是有害的,因为它可以接受任何输入.. 为了克服这个问题,我来到了更严格的 C
这只是一个实验,我很想知道
如有解释,将不胜感激
我正在使用 sublime text(以防万一...:])
Python 是一个简化的 Lisp,在 Lisp 中有 eval/apply paradigm. In C this paradigm exists only inside the compiler. The compilation system of C uses eval/apply, also called the Maxwell equations of software。但是在用户级别,您不会与 eval/apply 交互,只有当您 write/develop 在 C 中使用您处理的语言的编译器时。
所以在 C 中你需要自己实现这个,以防你开发某种图灵完备的语言(图灵机等同于 eval+apply 循环)。
eval()
函数是 基于解释器的语言 的典型特征。解释器是一个 "compiler on the fly",它解释(因此得名)程序文本并立即执行程序命令。
基于解释器的语言要求程序 运行ning 可以读取程序文本并执行其指令。
C 是一种基于编译器的语言,这意味着程序文本被翻译"off-line" 成可以运行 的可执行格式没有 解释程序文本的程序。
因为 C 没有这样的解释器程序 运行ning(所以该程序没有语言系统 "on board"),它无法解释 运行ning 中的 C 程序文本。 =11=]函数。因此,C 中不存在此类函数。