Crates.io | KittenVM |
lib.rs | KittenVM |
version | 1.0.0-4 |
source | src |
created_at | 2022-11-12 05:42:44.405607 |
updated_at | 2022-11-19 14:31:48.769809 |
description | it is an imaginative LVM. |
homepage | |
repository | https://gitee.com/Shirasawa-CN/kitten-vm |
max_upload_size | |
id | 713477 |
size | 125,688 |
大抵是一个想象力丰富的LVM吧。
目前(测试过程中)最推荐的版本是最新的alpha版本!如1.0.0-1
稳定版本将不会带有横杠的版本,如1.0.0
[dependencies]
KittenVM = "1.0.0"
use KittenVM::API;
let a = API::stream(new a);
//----------OR--------------
let result = API::file("file.kvm");
//----------OR--------------
//推荐这种方法!
let run = let mut run: KittenVM = vm::machine::KittenVM::default();
let a = run.dynamic_memory.new_mem(vm::value_type::Type::int(36));
确保KittenVM.lib要和libKittenVM.d在同一目录下;如果使用CMake之类的构建工具,确保正确引用! Staticlib下载
本玩具具有许多奇奇怪怪的脑洞特性,请移步到README
new name
创建一个名为name的内存空间
mov name,4
将数字4移动到name空间
mov name1,name2
将name2的值移动到name1,此时name2变成None
add_gc a
将a添加到回收列表中
free
清理回收列表中的内存
add and div mul or sll sra sud xor 这些运算指令的格式均如下
expr rs1,rs2,target
let name = run.dynamic_memory.new_mem(vm::value_type::Type::int(36));
创建一个名为name的内存空间
run.mov(4,name);
将数字4移动到name空间
run.mov(name1,name2);
将name2的值移动到name1,此时name2变成None
run.add_gc(a);
将a添加到回收列表中
run.free();
清理回收列表中的内存
add and div mul or sll sra sud xor 这些运算指令的格式均如下
expr(rs1,rs2,target);