在计算机科学中，动态重新编译（有时缩写为dynarec或伪首字母缩写DRC）是某些模拟器和虚拟机的功能。在执行期间，系统会重新编译程序的一些部分，调整生成的代码，使其表现程序的运行时环境，并有可能利用那些传统静态编译器不能获得的信息，生成更高效的代码。
用途.大多数动态重编译器用于在执行时不同架构间转换机器码。这是一个在模拟传统游戏平台中往往需要执行的任务。在其他情况下，系统可采取动态重编译作为自适应优化的一部分，以执行可移植程序，如 Java 与 .NET 通用语言运行库 字节码