add win support

This commit is contained in:
Eason 2024-06-12 21:26:24 +08:00
parent d9b2a372f1
commit d42bdb758c
1 changed files with 4 additions and 6 deletions

View File

@ -1,6 +1,6 @@
mod dqn; mod dqn;
mod ffi; mod ffi;
use std::{ffi::OsStr, os::unix::ffi::OsStrExt}; use std::ffi::OsString;
use burn::backend::{wgpu::AutoGraphicsApi, Wgpu}; use burn::backend::{wgpu::AutoGraphicsApi, Wgpu};
use dqn::prelude::*; use dqn::prelude::*;
@ -12,11 +12,9 @@ type Backend = Wgpu<AutoGraphicsApi, f32, i32>;
#[no_mangle] #[no_mangle]
pub extern "C" fn init(model_path: *const u8, len: i32) -> *mut DQNApp<'static> { pub extern "C" fn init(model_path: *const u8, len: i32) -> *mut DQNApp<'static> {
let model_path = let model_path = unsafe { std::slice::from_raw_parts(model_path, len as usize) };
OsStr::from_bytes(unsafe { std::slice::from_raw_parts(model_path, len as usize) }) let model_path = unsafe { OsString::from_encoded_bytes_unchecked(model_path.to_vec()) };
.to_str() let app = DQNApp::new(model_path.to_str().unwrap());
.unwrap();
let app = DQNApp::new(model_path);
Box::into_raw(Box::new(app)) Box::into_raw(Box::new(app))
} }