当前位置: 软件>C/C++软件
嵌入式运行时汇编器 Erasm++
本文导语: Erasm++ 基于 C++ 的嵌入式运行时汇编器,是一个 C++ 的 Embedded Domain Specific Language (EDSL) 用于运行时生成代码。支持完整的编译时语法检查,其代码生成速度非常快,因为必须的数据已经做了静态计算,目前只支持 Intel 64 和 IA-32 ...
Erasm++ 基于 C++ 的嵌入式运行时汇编器,是一个 C++ 的 Embedded Domain Specific Language (EDSL) 用于运行时生成代码。支持完整的编译时语法检查,其代码生成速度非常快,因为必须的数据已经做了静态计算,目前只支持 Intel 64 和 IA-32 体系架构。
示例代码:
#include #include typedef int (*pf_t) (int); int main(int argc,char**argv) { using namespace std; using namespace erasm::x64; using namespace erasm::x64::addr64; using namespace erasm::x64::addr64::data32; byte_t buf[100]; byte_t *p = buf; int32_t x = 2; p += mov(p,rax,dword_ptr[rsp+8]); p += add(p,rax,x); p += ret(p); pf_t f = (pf_t)buf; int len = p - buf; cout