1个不稳定版本
使用旧的Rust 2015
0.0.1 | 2015年1月24日 |
---|---|
0.0.0 |
|
#44 在 #编译器插件
13KB
244 行
Rusted Pepper
Rust对Pepper API的惯用绑定。此API是实验性的。预计它会有所变化。
构建
首先需要构建和安装PNaCl/NaCl Rust分支。然后运行
export NACL_SDK_ROOT=path/to/pepper_39
最后,运行
cargo build --target le32-unknown-nacl
然后就可以使用了!
不要运行build.sh
。 它用于更新FFI绑定。
入门指南
#![crate_name = "pnacl-hello-world"]
#![crate_type = "bin"]
#![no_main]
extern crate ppapi;
use std::collections::HashMap;
#[no_mangle]
#[cfg(target_os = "nacl")]
// Called when an instance is created.
// This is called from a new task. It is perfectly "safe" to panic!() here, or in
// any callback (though it will result in instance termination).
pub extern fn ppapi_instance_created(_instance: ppapi::Instance,
_args: HashMap<String, String>) {
println!("Hello, world!");
}
#[no_mangle]
pub extern fn ppapi_instance_destroyed() {
}
Pepper.js
由于rust-ppapi使用线程,因此不受支持。
lib.rs
:
提供pnacl_test! {}
宏。用法
#[ppapi_test]
fn test_name(instance: ppapi::Instance, args: HashMap<String, String>) {
// Put the test here.
}
将来我计划允许在模块上使用#[ppapi_test],以便测试回调。