1585
nishi
2019/07/17
0
こんにちは,M2の西です!
7月10日に行った第5回Rust勉強会の様子をお伝えします.
今回は,岡山理科大学にお邪魔して,理大の学生さんと一緒にもくもく会を行いました.
もくもく会では,各々が最初に目標を発表して,3時間ほど黙々とコーディングをしました.
集中してコーディングだけをする時間というのは普段取りづらいので,Rustをじっくり書く良い機会になりました.
ちなみに私は,ccというクレートを使って,自分で書いたCの関数をRustから呼ぶという挑戦をしてみました.
cc を使うと,以下のようにbuild.rs
ファイルにC言語のコンパイル設定を書くことができます.
extern crate cc;
fn main(){
// g++ コンパイル設定
cc::Build::new()
.cpp(true)
.warnings(true)
.flag("-std=c++11")
.flag("-Wall")
.flag("-Wextra")
.flag("-v")
.flag("-g")
.flag("-O3")
.file("src/cpp/src/fsw.cpp")
.include("/usr/local/include/libfswatch/c++")
.include("src/cpp/include")
.compile("libfsw.a"); // これをRustコード中でlinkしてFFIで呼びだせる
// ライブラリのリンク
println!("cargo:rustc-link-search=native=/usr/local/lib");
println!("cargo:rustc-link-lib=fswatch");
}
No comment