cargo new 使い方 ~ println!()

cargo前回の環境構築の記事にてhello worldをcargo newで作成し、実行しました。
cargo newの使い方についてメモを残しておきます。

【環境構築】Rust M1 Mac

バイナリアプリケーションパッケージの作成と中身

Rustのビルドツール&パッケージマネージャーであるcargoはテンプレートを作成する機能が備わっています。

その機能がcargo new

日常ではプロジェクトの作成、ビルド、実行、パッケージ管理、テスト等に使います。
また、必要な拡張機能を追加することもできます。
// 念の為バージョンチェック
cargo --version
// プロジェクト名に好きな名前:今回はhello
cargo new project_name
// バイナリアプリケーションの作成
cargo new hello
    Created binary (application) 'hello' package

前回の環境構築のテストで作成した方はエラーになると思いますので、対象ファイルを削除するなりしてテストしてください。

cd hello
ls -a

中身を確認。

      
  1. .git
  2.   
  3. src
  4.   
  5. .gitignore
  6.   
  7. Cargo.toml
この4つのファイルが作成されます。
順番に見ていきましょう。

cargo toml file

cargo toml fileはパッケージのメタデータを保存するためのファイルです。

パッケージの名前やバージョン、クレートなどが記されます。

開けてみる(vs codeで)とこのような構成になっています。

.git / .gitignore file

これらのファイルはパッケージをgitでバージョン管理するためのもの。

Rustの拡張子は[.rs]でsrcディレクトリに格納します。

cargo new コマンドでsrcディレクトリにmain.rsファイルが自動生成されます。

パッケージの実行 / cargo run

cargo run

で実行してみましょう。

パッケージ内のmain.rsファイルに記述された内容がコンパイルされます。

ビルドのみhello, worldが表示されたら成功です。
ちなみにビルドだけの場合はcargo check, cargo buildでそれぞれ可能になります。
rustccargo runはrustcを呼び出しソースコードをビルドして実行します。
rustcでコンパイルされたバイナリはtargetディレクトリに格納されます。

確認してみましょう。

ls target/debug/
// バイナリから直接アプリケーションの実行
target/debug/hello

println!()

println!()は関数ではなくマクロです。

標準出力に改行付きの1文を出力します。

この時、{}を書くことでプレースホルダとして認識。

, 以降の引数で指定するデータをプレースホルダに出力できます。

Kotaro
Kotaro
服部 洸太郎
音大を卒業後ピアニストとして活動。
自身のピアノトリオで活動後北欧スウェーデンにてシンガーアーティストLindha Kallerdahlと声帯とピアノによる即興哲学を研究。
その後ドイツへ渡りケルンにてAchim Tangと共に作品制作。
帰国後、金田式電流伝送DC録音の名手:五島昭彦氏のスタジオ「タイムマシンレコード」にアシスタントとして弟子入りし、録音エンジニアとしての活動開始。
独立後、音楽レーベル「芸術工房Pinocoa(現在はKotaro Studioに統合)」を立ち上げ、タンゴやクラシックなどのアコースティック音楽作品を多数プロデュース。
その後、秋山庄太郎氏後継の写真スタジオ「村上アーカイブス」でサウンドデザイナー兼音響担当として映像制作チームに参加。
村上宏治氏の元で本格的に写真、映像技術を学ぶ。
祖父母の在宅介護をきっかけにプログラムの世界に興味を持ち、介護で使えるプログラムをM5Stackを使って自作。
株式会社 ジオセンスの代表取締役社長:小林一英氏よりプログラムを学ぶ。
現在はKotaro Studioにてアルゼンチンタンゴをはじめとした民族音楽に関する文化の研究、ピアノ音響、さらに432hz周波数を使った癒しのサウンドを研究中。
スタジオでは「誰かのためにただここに在る」をコンセプトに、誰がいつ訪れても安心感が得られる場所、サイトを模索中。