gpt4 book ai didi

rust - 如何使固定大小的数组保持未初始化状态?

转载 作者:行者123 更新时间:2023-11-29 08:16:03 24 4
gpt4 key购买 nike

<分区>

我正在编写与外部 C 库的绑定(bind),并且有一个函数获取指向缓​​冲区的可变 char 指针,并用一些以 null 结尾的日志信息填充它。此信息始终小于 512 字节,因此我可以安全地编写如下内容:

let mut log: [c_char; 512];
myfunc(log.as_mut_ptr());

它不起作用:

error[E0381]: use of possibly uninitialized variable: `log`
--> src/a.rs:63:60
|
63 | myfunc(log.as_mut_ptr());
| ^^^ use of possibly uninitialized `log`

我可以这样做:

let log: [c_char; 512] = [0; 512];

我不需要填充缓冲区,它将在下一行填充,所以这只是浪费时间(不是很多,将其视为挑战而不是真正的性能提升)。

是否可以说“嘿编译器,这次可以使用未初始化的变量!”不知何故?

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