Rust

「ゼロからのOS自作入門」を Rust でやる (第17章)

いつの間にかこのシリーズも10記事を超えていました。 本記事で11記事目です。 難所をいくつも越え、なんとか最終章まで続けられそうな気がしてきました。 頑張っていきましょう。 シリーズ最初の記事: 「ゼロからのOS自作入門」を Rust でやる (第1章~第4…

「ゼロからのOS自作入門」を Rust でやる (第14章~第16章)

ブログの更新は間が空いてしまいましたが、OSの移植じたいは細々と続けていました。 今回はまとめて3章分です。 シリーズ最初の記事: 「ゼロからのOS自作入門」を Rust でやる (第1章~第4章) - gifnksmの雑多なメモ 前回: 「ゼロからのOS自作入門」を Rust …

「ゼロからのOS自作入門」を Rust でやる (第13章)

13章もなかなかに難産でした。 マルチスレッドプログラミングは難しい... シリーズ最初の記事: 「ゼロからのOS自作入門」を Rust でやる (第1章~第4章) - gifnksmの雑多なメモ 前回: 「ゼロからのOS自作入門」を Rust でやる (第10章~第12章) - gifnksmの…

「ゼロからのOS自作入門」を Rust でやる (第10章~第12章)

今回はまとめて3章です。 シリーズ最初の記事: 「ゼロからのOS自作入門」を Rust でやる (第1章~第4章) - gifnksmの雑多なメモ 前回: 「ゼロからのOS自作入門」を Rust でやる (第9章) - gifnksmの雑多なメモ 次回: 「ゼロからのOS自作入門」を Rust でやる…

「ゼロからのOS自作入門」を Rust でやる (第9章)

改造量の多い章だと時間がかかってしまいますが、ゆるゆると続けております。 シリーズ最初の記事: 「ゼロからのOS自作入門」を Rust でやる (第1章~第4章) - gifnksmの雑多なメモ 前回: 「ゼロからのOS自作入門」を Rust でやる (第7章) - gifnksmの雑多な…

「ゼロからのOS自作入門」を Rust でやる (第7章)

引き続き Rust で OS を作っていきます。 今回は、Rust 1.39 で安定化されたあの機能が登場します!!! シリーズ最初の記事: 「ゼロからのOS自作入門」を Rust でやる (第1章~第4章) - gifnksmの雑多なメモ 前回: 「ゼロからのOS自作入門」を Rust でやる …

「ゼロからのOS自作入門」を Rust でやる (第6章 その2)

ちょっと間が空いてしまいましたが、第6章の続きです。 今回はついにマウスカーソルを動かせるようになります! シリーズ最初の記事: 「ゼロからのOS自作入門」を Rust でやる (第1章~第4章) - gifnksmの雑多なメモ 前回: 「ゼロからのOS自作入門」を Rust …

「ゼロからのOS自作入門」を Rust でやる (第8章)

早い物でこのシリーズも4記事目です。 内容もだんだん難しくなってきて、Rust に移植するのも大変になってきましたが、頑張っていきましょう。 シリーズ最初の記事: 「ゼロからのOS自作入門」を Rust でやる (第1章~第4章) - gifnksmの雑多なメモ 前回: 「…

「ゼロからのOS自作入門」を Rust でやる (第6章 その1)

今日も今日とて「ゼロからのOS自作入門」をRustでやっていきます。 シリーズ最初の記事: 「ゼロからのOS自作入門」を Rust でやる (第1章~第4章) - gifnksmの雑多なメモ 前回: 「ゼロからのOS自作入門」を Rust でやる (第5章) - gifnksmの雑多なメモ 次回:…

「ゼロからのOS自作入門」を Rust でやる (第5章)

引き続き「ゼロからのOS自作入門」を Rust でやっていきます。 前回: 「ゼロからのOS自作入門」を Rust でやる (第1章~第4章) - gifnksmの雑多なメモ 次回: 「ゼロからのOS自作入門」を Rust でやる (第6章 その1) - gifnksmの雑多なメモ 関連記事一覧: ゼ…

「ゼロからのOS自作入門」を Rust でやる (第1章~第4章)

ゼロからのOS自作入門 を 一通り写経 したところ、 Rust に移植したくなったのでやっていきます。 次回: 「ゼロからのOS自作入門」を Rust でやる (第5章) - gifnksmの雑多なメモ 関連記事一覧: ゼロからのOS自作入門 カテゴリーの記事一覧 - gifnksmの雑多…

EmscriptenでRustをJavaScriptへコンパイルする

以前のエントリではうまくいかなかった、RustのJavaScriptへのコンパイルですが、 gifnksm.hatenablog.jp 先日フォーラムに投稿されていたやり方をまねるだけで簡単にできるようになっていました。 internals.rust-lang.org Rust本体にEmscripten対応が取り…

EmscriptenでRustをJSへコンパイルする (コンパイルできてない)

2016/3/8追記 うまくいきました。エントリ書きました。 gifnksm.hatenablog.jp RustでEmscriptenを使う方法を調べたのでメモ。2015年12月28日時点でなんとか動作させるための手順です。今後オフィシャルにEmscriptenサポートが入るなどすると、もっと簡単な…

kcovを使ってRustプログラムのカバレッジを測定する

本記事は Rust Advent Calendar 2015 13日目の記事です。 前置き Rust 1.5リリースおめでとうございます!!! cargo install の登場により、Rust製ツール群のインストールが飛躍的に楽になりました。最近のアップデートに追従できていなかったという方も、…

Power Assert を Rust で作ってみた

素敵な表示をしてくれるassertionライブラリ、Power Assert を Rust でも実現してみました!!! gifnksm/power-assert-rs Assertion failure 時にこんな感じに分かりやすくメッセージ出力してくれます。使い方は GitHub参照ください。 $ cargo run --exampl…

rustで変なテトリスを書いた

Rust1.0リリースパーティーで、絶対にPistonを使ってみるぞ!!!と決心してから早3ヶ月、やっとPistonを触ってみました。 Piston触ってみようかな #rustlang— ぎふ (@gifnksm) 2015, 5月 16 チュートリアル編 RustリリースパーティーでLTをされていた、http…

rustでtelnetチャットを書いた

ソケットプログラミングの練習でよくあるアレをrustで書いてみた。 https://github.com/gifnksm/telnet-chat クライアントプログラム書くのがダルかったので、telnet を使う仕様にした。 \ から始まるコマンドを打つことで、参加者一覧を出したりできる。 練…

multirust で今日から始める快適 rust 生活

Rust 1.0 リリースおめでとうございます!!!! Rust 1.0 がリリースされました!!!!めでたい!!!!!! このリリースは非常に大きな一歩です。これまではコンパイラのバージョンが上がる度にコードを頑張って修正する必要がありましたが、今後はstabl…

Rust nightly の x86_64, i686 両対応版の PKGBUILD

タイトルの通りのブツです。これを参考にして rust-bin-nightly を改造した感じです。 パッケージのビルド時間が短くなって大変ハッピー。 # Maintainer: NAKASHIMA, Makoto <makoto.nksm@gmail.com> pkgname=rust-nightly-bin pkgver=2015.01.25 pkgrel=1 arch=('i686' 'x86_64') p</makoto.nksm@gmail.com>…

Rustでコンパイル時処理に挑戦する

この記事は Rust Language Advent Calendar 2014 の21日目の記事です。 20日目はRyuseiさんの「Go, Rust, Haxeによる正規表現エンジン実装の読み比べ - M59のブログ」、22日目はwoxtuさん担当です。 Rustのコンパイル時処理 システムプログラム界隈でコンパ…

rustpkg test でプロダクトコード中に書かれたユニットテストを実行する

以下のようなパッケージ foo が存在したとします。 // src/foo/lib.rs #[crate_id = "foo"]; pub fn super_complex_function() -> uint { 42 } #[cfg(test)] mod test { #[test] fn test_super_complex_function() { assert_eq!(42, super::super_complex_fu…

Rust 基礎文法最速マスター (rust 0.7 編)

警告 (2014/1/25 追記) 以下の記事ですが、今となっては通用しない記述が多く含まれています。 0.7 から現在までに行われた大きな変更としては、思いつくだけでも 言語組み込み機能としての managed box が非推奨になった (将来削除され、ライブラリによる実…

rust-incoming-git の PKGBUILD

rust の最新の変更の commit 先が master ブランチから incoming ブランチに変更されたため、 master ブランチの動きが少なくなってしまい寂しかったので、 incoming ブランチ用の PKGBUILD を作成しました。ついでに、AUR にアップしておきました。 AUR (en…

rust-git の PKGBUILD

AUR にある rust-git が、makepkg しようとすると毎回 llvm やら libuv のサブモジュールを clone しようとして時間がかかって仕方が無いので、初回だけ clone するように修正してみた。ついでに、コンパイラとして clang を使う設定もいれてみた。 既にある…

Rust で ProjectEuler #8 ~ #12

Problem 8 入力された数列に含まれる5つの連続した数の積のうち、最大のものを求める問題。 最新版ソース use std; fn main() { const prod_len: uint = 5u; let input = " 73167176531330624919225119674426574742355349194934 969835203127745063262395783…

Rust で ProjectEuler #4 ~ #7

Problem 4 3桁の2つの数の積で表せる最大の palindrome な数。 最新版ソース use std; fn to_palindromic(n: u64, dup_flag: bool) -> u64 { let cs = str::chars(u64::to_str(n, 10u)); let s = str::from_chars( if dup_flag { cs + vec::tail(vec::revers…

Rust で ProjectEuler のレポジトリを github で公開しました

レポジトリ作った。ソースは適宜修正していく予定ですので、最新版はこちらを参照してください。 gifnksm/ProjectEulerRust · GitHub

Rust で ProjectEuler #1 ~ #3

放置状態になっていたProject Eulerを再開してみることにしました。以前はHaskellでProb. 133まで解いてHaskellに慣れることができたので、今回はRustで書いてみようと思います。Haskellは最後まで使いこなせてる感は出なかったのですが、遅延評価ではないRu…

Rust で Generic な数値型を作る

ちまたで話題(?) の Rust 言語。昨年末くらいから「日本語情報が全然無い、先駆者になるチャンス!」とか思いながらのろのろしてたら、先日の0.1版発表で一気に知名度が上がってしまい(´・ω・`)としているgifnksmです。 0.1リリースでいろいろ変わりました…