Open FurryWolfX opened 10 months ago
是否可以提供rust调用的例子,我使用以下方式调用,没有反应:
use libloading::os::windows::{Library, Symbol}; use std::thread; use std::time::Duration; fn main() { thread::sleep(Duration::from_secs(1)); println!("1"); call_dynamic(); thread::sleep(Duration::from_secs(1)); println!("2"); } fn call_dynamic() { unsafe { let lib = Library::new("dd32695.x64.dll").unwrap(); let f: Symbol<unsafe fn(i32, i32) -> i32> = lib.get(b"DD_key").unwrap(); dbg!(&f); dbg!(f(601, 1)); dbg!(f(601, 2)); lib.close(); } }
@FurryWolfX 从 examples 里面的 python 代码来看,在加载 dll 后还需要调用一次 DD_btn(0) 初始化。我用 python 和 go 实验过了,确实如此。相关代码:
DD_btn(0)
https://github.com/ddxoft/master/blob/f610c3b3d4dff18f326343cea3b4b6142a62ed93/Example/App_python/vs2017/DD/DD.py#L7-L12
另:如果这能够解决你的问题的话,希望你也能顺手关闭这个 issue。
是否可以提供rust调用的例子,我使用以下方式调用,没有反应: