MST

星途 面试题库

面试题:Rust中如何实现与C ABI兼容的函数定义

请描述在Rust中,为了实现与C ABI兼容,函数定义需要遵循哪些规则,并给出一个简单的示例代码,该函数接受两个整数参数并返回它们的和。
32.8万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
  1. 规则
    • 使用 extern "C" 修饰函数,明确指定该函数使用C ABI。
    • 函数参数和返回值类型需要是C ABI兼容的类型,在Rust中,常见的基本整数类型(如 i32u32 等)、指针类型等是兼容的。
  2. 示例代码
#[no_mangle]
extern "C" fn add_numbers(a: i32, b: i32) -> i32 {
    a + b
}