#x86-64 #codegen #code-generation #compiler

CodeGenLib

一个用于生成x86-64位机器代码(如LLVM)的库

1个不稳定版本

0.0.1 2024年3月31日

#77#code-generation

MPL-2.0 许可协议

73KB
1.5K SLoC

一个用于生成x86-64位机器代码的库

错误: Jit无法工作

示例

use CodeGenLib::{Builder, ArtifactError};

pub fn main() -> Result<(), ArtifactError>{
    let mut builder = Builder::new();

    builder.add_function("call")
        .call("callme")
        .ret_int(5);

    builder.build("test.o")?;

    Ok(())
}

文档

请查看我们的文档:https://docs.rs/CodeGenLib

版权(C)2024 Cr0a3

(!) 使用faerie crate (https://crates.io/crates/faerie)


lib.rs:

CodeGenLib是一个Rust库,用于生成x86-64位机器代码(如LLVM)

示例

use CodeGenLib::{Builder, ArtifactError}

pub fn main() -> Result<(), ArtifactError> {
   let mut builder = Builder::new();

   builder.add_function("call")
    .call("callme")
    .ret_int(1);
   
   builder.build("test.o")?;
   
   Ok(())
}

示例将创建一个包含名为call的函数的elf文件,该函数调用名为callme的函数,然后返回1

依赖项

~3.5MB
~61K SLoC