функцию __kuser_cmpxchg64
Как её вызвать в расте?
type Cmpxchg64 = unsafe extern "C" fn(oldval: *const i64, newval: *const i64, ptr: *mut i64) -> c_int;
static CMPXCHG64: Cmpxchg64 = unsafe{ std::mem::transmute(0xffff0f60u32) };
// Ошибка
error[E0080]: it is undefined behavior to use this value
|
12 | static CMPXCHG64: Cmpxchg64 = unsafe{ std::mem::transmute(0xffff0f60u32) };
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered 0xffff0f60, but expected a function pointer
Есть возможность не писать ассемблерный код?
а если просто через as?
Обсуждают сегодня