Merge pull request #18 from pkozelka/pk/cpp-to-rust

Added Rust to C++ example
This commit is contained in:
Alex Crichton
2018-09-11 10:08:32 -07:00
committed by GitHub
4 changed files with 34 additions and 0 deletions

11
rust-to-cpp/Cargo.toml Normal file
View 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
View 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
View 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);
}

View File

@@ -0,0 +1,4 @@
extern "C"
int triple_input(int input) {
return input * 3;
}