fn main() {
let val = 0;
unsafe { foo(&val) }
}
extern "C" {
pub fn foo(val: *const u32);
}
कार्यान्वयन:एक FFI समारोह एक चर कि परिवर्तनशील घोषित नहीं किया गया था संशोधित कर सकते हैं? सी में
void foo(unsigned* val) { *val=1; }
बेशक
, मैं val: *mut u32
पारित करना चाहिए, लेकिन क्या ऐसा होता है कि मैं एक अपरिवर्तनीय संदर्भ पारित में क्या होता है? क्या संकलक नियम लागू होते हैं? val
अपरिवर्तित ही रहेंगे करता है, भले ही मैं स्थानीय चर के लिए सूचक गुजर रहा हूँ?
आपको बहुत बहुत धन्यवाद – wemagah