- 授权协议: GPLv3
- 开发语言: C/C++
- 操作系统: 跨平台
- 软件首页: https://github.com/nishiuramakoto/erasm-plusplus
软件介绍
Erasm++ 基于 C++ 的嵌入式运行时汇编器,是一个 C++ 的 Embedded Domain Specific Language (EDSL) 用于运行时生成代码。支持完整的编译时语法检查,其代码生成速度非常快,因为必须的数据已经做了静态计算,目前只支持 Intel 64 和 IA-32 体系架构。
示例代码:
#include <erasm/x64_addr64_data32.hpp>
#include <iostream>
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 << "code length=" << len << endl
<< "result=" << f(argc) << endl;
return 0;
}
从“为什么”开始
[美] 西蒙·斯涅克 / 苏西 / 海天出版社 / 2011-7 / 32.00元
影响人类的行为:要么靠操纵,要么靠感召。 操纵带来的是交易,是短期效益; 感召带来的是信任,是永续经营! 盖茨走后,微软面临怎样的挑战?后盖茨时代,微软为何从一个希望改变世界的公司沦落为一个做软件的公司? 沃尔玛的灵魂人物过世后,一度被人们热爱的公司,遭到的竟然多是顾客、员工的反感?沃尔玛要怎样做才能重放昔日光彩? 星巴克吸引人们购买的不是咖啡,而是理念?为什么说霍华......一起来看看 《从“为什么”开始》 这本书的介绍吧!
