Giter VIP home page Giter VIP logo

rustbook's Introduction

『実践Rust入門』のサンプルプログラム

実践Rust入門
[言語仕様から開発手法まで]

κeen(著)、河野達也(著)、小松礼人(著)
B5判/576ページ/本体価格3,980円+税
ISBN番号 978-4-297-10559-4
技術評論社、2019年5月8日発行

サンプルプログラム

本GitHubリポジトリでは『実践Rust入門』(以降 本書)に掲載されているサンプルプログラムを収録しています。 本書の各章に対応するch章番号ディレクトリを参照してください。

ダウンロード方法

リリースページ にある*.zipまたは*.tar.gzのアーカイブファイルをダウンロード後、解凍してください。 どちらのアーカイブも内容は同じです。 WindowsとmacOSをお使いなら*.zipを、Linuxをお使いなら*.tar.gzをダウンロードすることをお勧めします。

それぞれのリリースの内容については RELEASES.mdファイル を参照してください。

改行文字について

ソースファイルの改行文字はLinuxやmacOS環境で使用されているLF文字になります。Windows環境ではアプリケーションによっては正しく改行されないかもしれません。2章を参考に、Visual Studio Code(VS Code)などのソースコードエディタを使われることをお勧めします。

本書で使用する追加ソフトウェアについて

インストール方法

本書で使用する追加ソフトウェアのインストール方法については以下を参考にしてください。

なお、Rustツールチェインとリンカのインストール方法については本書の2章を参照してください。

使いかたなど

追加ソフトウェアの使いかたについては以下を参考にしてください。

動作確認の環境について

サンプルプログラムは以下のRust/OSバージョンにて動作確認済みです。

  • Rust 1.32.0(2019年1月16日リリース)
    • 2018 Editionを指定
  • x86-64系のプロセッサで動作する以下のOS
    • Ubuntu "Bionic" 18.04 LTS(64ビット)
    • macOS Mojave 10.14
    • Windows 10 (64ビット、Microsoft Visual C++ 2017)

ご質問や不具合報告など

本書やサンプルプログラムの内容についてご質問などあるときは、以下の方法でご確認・ご連絡ください。

本書の書籍案内ページ

https://gihyo.jp/book/2019/978-4-297-10559-4

本書の概要や目次、正誤表などが掲載されています。

ライセンス

本リポジトリのコンテンツは特に断り書きがない限り 三条項BSDライセンス のもとで公開されています。

以下のディレクトリ配下のコンテンツは異なるライセンスで公開されています。

  • ch10/wordcountMITApache-2.0 のデュアルライセンス

rustbook's People

Contributors

keens avatar tatsuya6502 avatar ttakuya avatar ykomatsu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rustbook's Issues

3章 バイトニックソートのベンチマークがRust 1.48.0以降で実行時エラーになる

読者さまからご報告あり。

本リポジトリーに収録されている ch03/bitonic-sorter #4d44da のベンチマークをRust 1.48.0以降で実行すると、メモリー関連の実行時エラー(例:segmentation fault)になる。

$ cargo run --release --example benchmark -- 25
sorting 33554432 integers (128.0 MB)
cpu info: 8 physical cores, 8 logical cores
seq_sort: sorted 33554432 integers in 12.078293916 seconds
thread '<unnamed>' panicked at 'attempted to leave type `nodrop::NoDrop<(epoch::Epoch, garbage::Bag)>` uninitialized, 
which is invalid', ... /.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-epoch-0.3.1/src/sync/queue.rs:57:28
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
zsh: segmentation fault  cargo run --release --example benchmark -- 25

Linux、Windows、macOSで発生することを確認済み。(上のログはmacOS arm64での実行結果)

## Rust 1.56.1、macOS arm64
$ rustc -Vv
rustc 1.56.1 (59eed8a2a 2021-11-01)
binary: rustc
commit-hash: 59eed8a2aac0230a8b53e89d4e99d55912ba6b35
commit-date: 2021-11-01
host: aarch64-apple-darwin
release: 1.56.1
LLVM version: 13.0.0

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.