gpt4 book ai didi

winapi - Rust WINAPI输出HMODULE值

转载 作者:行者123 更新时间:2023-12-03 11:48:21 25 4
gpt4 key购买 nike

我正在尝试编写一个调用WINAPI的simle rust控制台应用程序。
我将省略代码的明显使用和外部包装部分。这里是:

fn win32_string(value : &str ) -> Vec<u16> {
OsStr::new( value ).encode_wide().chain( once( 0 ) ).collect()
}

fn main() {
println!("===== Rust Windows experiment #1 =====");

let module_name = win32_string("ntdll.dll");

let h_instance: HMODULE;

unsafe {
h_instance = GetModuleHandleW(module_name.as_ptr());
}

println!("Value of h_instance: {:#?}", h_instance);
}
我正在针对目标三元组构建它:
[build]
target = "i686-pc-windows-msvc"
如您所见,我的目标是构建32位应用程序。现在,我的程序的输出如下:
=====  Rust Windows experiment #1  =====
Value of h_instance: 0x00007ffb61c40000
它显示一个64位地址。怎么会这样我是否将HMODULE值错误地写入控制台,或者我做错了什么?

最佳答案

在rodrigo的帮助下:应该将build标记包含在.cargo\config文件中,而不是cargo.toml文件中,以便编译器选择它。 :)更改后,此问题现已解决。 :)

关于winapi - Rust WINAPI输出HMODULE值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62696728/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com