23 lines
557 B
Rust
23 lines
557 B
Rust
#![allow(non_snake_case)]
|
|
#![allow(non_camel_case_types)]
|
|
|
|
use std::ffi::CString;
|
|
use std::os::raw::c_char;
|
|
use std::os::raw::c_int;
|
|
|
|
#[unsafe(no_mangle)]
|
|
pub extern "C" fn fStringFromRustLibrary() -> *const c_char {
|
|
let oOutput: CString = CString::new("String from Rust library").unwrap();
|
|
return oOutput.into_raw();
|
|
}
|
|
|
|
#[unsafe(no_mangle)]
|
|
pub extern "C" fn fFibonacci(fibNum: c_int) -> c_int {
|
|
if fibNum == 0 {
|
|
return 0;
|
|
} else if fibNum == 1 {
|
|
return 1;
|
|
}
|
|
return fFibonacci(fibNum - 1) + fFibonacci(fibNum - 2);
|
|
}
|