Added Rust to C++ example
This commit is contained in:
11
rust-to-cpp/Cargo.toml
Normal file
11
rust-to-cpp/Cargo.toml
Normal file
@@ -0,0 +1,11 @@
|
||||
[package]
|
||||
name = "rust-to-cpp"
|
||||
version = "0.1.0"
|
||||
authors = ["Petr Kozelka <pkozelka@gmail.com>"]
|
||||
build = "build.rs"
|
||||
|
||||
[dependencies]
|
||||
libc = "0.2"
|
||||
|
||||
[build-dependencies]
|
||||
gcc = "0.3"
|
||||
8
rust-to-cpp/build.rs
Normal file
8
rust-to-cpp/build.rs
Normal file
@@ -0,0 +1,8 @@
|
||||
extern crate gcc;
|
||||
|
||||
fn main() {
|
||||
gcc::Build::new()
|
||||
.file("src/triple.cpp")
|
||||
.cpp(true)
|
||||
.compile("libtriple.a");
|
||||
}
|
||||
11
rust-to-cpp/src/main.rs
Normal file
11
rust-to-cpp/src/main.rs
Normal file
@@ -0,0 +1,11 @@
|
||||
extern crate libc;
|
||||
|
||||
extern {
|
||||
fn triple_input(input: libc::c_int) -> libc::c_int;
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let input = 4;
|
||||
let output = unsafe { triple_input(input) };
|
||||
println!("{} * 3 = {}", input, output);
|
||||
}
|
||||
4
rust-to-cpp/src/triple.cpp
Normal file
4
rust-to-cpp/src/triple.cpp
Normal file
@@ -0,0 +1,4 @@
|
||||
extern "C"
|
||||
int triple_input(int input) {
|
||||
return input * 3;
|
||||
}
|
||||
Reference in New Issue
Block a user