14个版本
0.2.0 | 2023年12月25日 |
---|---|
0.2.0-beta8 | 2022年10月30日 |
0.2.0-beta7 |
|
0.2.0-beta5 | 2022年3月20日 |
0.0.0 | 2020年7月16日 |
#637 in 内存管理
74 每月下载量
用于 memflow-win32-ffi
700KB
13K SLoC
memflow-ffi
memflow FFI crate 提供了 C/C++ 对 memflow API 的接口。除了动态库之外,还会生成一个名为 memflow.h
的文件,用于与 memflow 交互。
一个简单的初始化库的示例
#include "memflow.h"
#include <stdio.h>
int main(int argc, char *argv[]) {
log_init(4);
ConnectorInventory *inv = inventory_try_new();
printf("inv: %p\n", inv);
const char *conn_name = argc > 1? argv[1]: "kvm";
const char *conn_arg = argc > 2? argv[2]: "";
CloneablePhysicalMemoryObj *conn =
inventory_create_connector(inv, conn_name, conn_arg);
printf("conn: %p\n", conn);
if (conn) {
PhysicalMemoryObj *phys_mem = downcast_cloneable(conn);
printf("phys_mem: %p\n", phys_mem);
uint64_t read = phys_read_u64(phys_mem, addr_to_paddr(0x30000));
printf("Read: %lx\n", read);
phys_free(phys_mem);
connector_free(conn);
printf("conn freed!\n");
}
inventory_free(inv);
printf("inv freed!\n");
return 0;
}
更多示例可以在 examples
文件夹中找到。
依赖
~6–15MB
~175K SLoC