| extern "C" { | |
| // Functions defined in C | |
| fn c_obj_greet(); | |
| fn c_static_greet(); | |
| fn c_shared_greet(); | |
| // Functions defined in C++ | |
| fn cpp_shared_greet(); | |
| // Functions defined in Rust through a C-style ABI | |
| fn rs_staticlib_greet(); | |
| fn rs_cdylib_greet(); | |
| } | |
| // Functions defined in Rust, using native Rust ABI | |
| extern crate rs_rlib; | |
| use rs_rlib::rs_rlib_greet; | |
| fn main() { | |
| println!("Hello from main.rs"); | |
| unsafe { | |
| c_obj_greet(); | |
| c_static_greet(); | |
| c_shared_greet(); | |
| cpp_shared_greet(); | |
| rs_staticlib_greet(); | |
| rs_cdylib_greet(); | |
| } | |
| rs_rlib_greet(); | |
| } |