你能想到任何合法的(聪明的)用于运行时代码修改(程序在运行时修改自己的代码)的用途吗?
现代操作系统似乎不喜欢这样做的程序,因为这种技术已经被病毒用来避免被检测到。
我所能想到的是某种运行时优化,通过在运行时知道一些在编译时不知道的东西来删除或添加一些代码。
发布于 2011-04-04 15:22:22
这已经在计算机图形学中完成了,特别是用于优化目的的软件渲染器。在运行时,会检查许多参数的状态,并生成光栅化器代码的优化版本(潜在地消除了许多条件),这使得人们可以更快地渲染图形基元,例如三角形。
发布于 2011-04-04 15:47:16
一些编译器使用它进行静态变量初始化,从而避免了后续访问的条件开销。换句话说,他们通过在第一次执行代码时用no-ops覆盖代码来实现“只执行一次代码”。
发布于 2011-04-04 15:21:41
Synthesis OS基本上是根据应用程序接口调用对你的程序进行部分评估,并用结果替换操作系统代码。主要的好处是消除了大量的错误检查(因为如果你的程序不会要求操作系统做一些愚蠢的事情,它就不需要检查)。
是的,这是运行时优化的一个例子。
https://stackoverflow.com/questions/5535591
复制相似问题