1234567891011121314151617181920212223242526272829303132333435363738394041 |
- #include "asmjit/src/asmjit/asmjit.h"
- using namespace asmjit;
- typedef int (*Func)(void);
- int value()
- {
- return 42;
- }
- int main(int argc, char* argv[]) {
- JitRuntime rt;
- CodeHolder code;
- code.init(rt.getCodeInfo());
- X86Assembler a(&code);
- a.mov(x86::eax, 1);
- a.call(reinterpret_cast<uint64_t> (&value));
- a.ret();
-
- Func fn;
- Error err = rt.add(&fn, &code);
- if (err) return 1;
-
- int result = fn();
- printf("%d\n", result);
-
-
-
- rt.release(fn);
- return 0;
- }
|