首页
社区
课程
招聘
[推荐]x86/x64 JIT assembler for C++
发表于: 2010-11-3 17:47 7344

[推荐]x86/x64 JIT assembler for C++

2010-11-3 17:47
7344
Xbyak 2.30 ; JIT assembler for x86(IA32), x64(AMD64, x86-64) by C++

-----------------------------------------------------------------------------
<Abstract>

This is a header file which enables dynamically to assemble x86(IA32),
x64(AMD64, x86-64) mnemonic.

-----------------------------------------------------------------------------
<Feature>
header file only
    you can use Xbyak's functions at once if xbyak.h is included.

MMX/MMX2/SSE/SSE2/SSE3/SSSE3/SSE4/FPU(partial) are available.

Windows Xp(32bit, 64bit), Vista, Linux(32bit, 64bit), Intel Mac ready
support Visual Studio C++ 2005 Express Ed., VC2008 Pro,
mingw 3.4.2, icc 7.2, gcc 4.1.1, and so on.

sample 1
Generating add function 
#include <stdio.h>
#include "xbyak/xbyak.h"

struct AddFunc : public Xbyak::CodeGenerator {
    AddFunc(int y)
    {
        mov(eax, ptr[esp+4]);
        add(eax, y);
        ret();
    }
};

int main()
{
    AddFunc a(3);
    int (*add3)(int) = (int (*)(int))a.getCode();
    printf("3 + 2 = %d\n", add3(2));
}

The content indicated by the function pointer is the following. 
    mov    eax, dword ptr [esp+4]
    add    eax, 3
    ret

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 190
活跃值: (22)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
大哥牛人啊
2010-11-3 21:07
0
雪    币: 9777
活跃值: (2161)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
这是一款日本人出的!
2010-11-3 21:53
0
游客
登录 | 注册 方可回帖
返回
//