S-JIS[2024-09-16/2024-11-24] 変更履歴

Rustメモ

Rustのメモ。

  • 所有権
  • Cargo [/2024-11-24]
  • クレート
    • std(標準ライブラリー)[/2024-11-14]
    • log(ログ出力)[2024-09-28]
    • prost(protobuf)[/2024-10-12]
    • tonicgRPC
    • arrow(Arrow形式データ)[2024-10-21]
    • polars [/2024-10-26]
    • libloading [2024-10-15]
    • pyo3(Pythonから呼び出す) [2024-10-26]
    • j4rs(Java for Rust)[2024-09-21]

概要

Rustは、所有権という概念に特徴があるプログラミング言語。

コンパイル(ビルド)するとOSネイティブの実行ファイル(Windowsならexeファイル)が生成される。

生ポインターを扱ったり、C言語の関数として呼ばれたり呼び出したりといった、低レベルな操作をすることも出来る。




プロジェクト構成

Rustではアプリケーションやライブラリーのことをクレート(crate)と呼ぶ。
(Javaで言うと、Mavenのアーティファクトやjarファイルといった単位)

他のライブラリー(クレート)を使用する場合、そのクレートの名前をCargoの設定ファイルのdependnciesに記述することになる。

「crate」を訳すと「木箱」のことらしい。
「アプリケーション」や「ライブラリー」と言うと、人によって何を指すかが曖昧だったりするので、わざわざクレートという言葉を使っているのだと思う。


クレート(Rustのアプリケーションやライブラリー)を開発する為のプロジェクトの雛形はCargoというビルドシステムで作成できる。
(「プロジェクト」は自分が他のプログラミング言語でも使っている言い方で、Rustでは「クレート」と言うべきかも)

Rustのソースファイルは拡張子rsで、「プロジェクト名/src」ディレクトリーの下に置く。

rsファイルのファイル名はモジュールと密接にかかわっている。[2024-09-20]
なので、ファイル名(モジュール名)の命名ルールに従ってsnake_caseにすべき。


Rust(Cargo)で作成できるクレートは以下の2種類がある。

main.rsやlib.rsはコンパイル(ビルド)の起点となるファイルなので、ファイル名はこのままにしておくべき。
(エントリーポイントであるmain.rsやlib.rsのファイル名を変えたり別の場所に置いたりすることは、Cargo.tomlに特別な設定を記述すれば出来るらしい)

srcの下の各ディレクトリーに置くmod.rsという名前のソースファイルには特別な役割がある。→モジュール


用語等のリンク


技術メモへ戻る
メールの送信先:ひしだま