คำถามในหัวข้อ 'ffi'

การส่งผ่านตัวชี้ไปยังอาร์เรย์ของสนิมไปยัง x86-64 Asm Pointer Off ทีละตัว
เมื่อฉันส่งพอยน์เตอร์ไปยังอาร์เรย์จาก Rust ไปยัง x86-64 Asm รีจิสเตอร์ที่เกี่ยวข้อง (rdi, rsi) ดูเหมือนจะปิดไปทีละอัน โดยชี้ไปที่องค์ประกอบ 1 ของอาร์เรย์แทนที่จะเป็นองค์ประกอบ 0 ฉันสามารถลดค่ารีจิสเตอร์เพื่อเข้าถึงค่าที่ต้องการได้ สถานที่...
212 มุมมอง
schedule 18.12.2023

ฉันจะสร้างพอยน์เตอร์ที่ไม่ได้เตรียมใช้งานซึ่งฉันสามารถส่งผ่านไปยังฟังก์ชัน FFI ในลักษณะที่ปลอดภัยสำหรับเธรดได้อย่างไร
ฉันมีโค้ด Rust บางตัวที่ส่งพอยน์เตอร์ไปยังฟังก์ชัน FFI เช่นนี้ let mut mu = MaybeUninit::uninit(); let mut p = mu.as_mut_ptr(); let r = unsafe { ffi_fn(&mut p) }; วิธีนี้ใช้ได้ดีกับเธรดเดียว แต่สำหรับหลายเธรด ฉันคิดว่า...
358 มุมมอง
schedule 21.11.2023