[過去ログ]
Rust part16 (1002レス)
Rust part16 http://mevius.5ch.net/test/read.cgi/tech/1656285423/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
23: デフォルトの名無しさん [sage] 2022/06/28(火) 21:23:20.31 ID:20pFpWMa Rustは標準ライブラリからしてunsafeだらけ Rustのメリットはunsafe部分を局所的に閉じ込めることができること (他言語は全てがunsafe状態) そして局所的に閉じ込めた部分の健全性を人間が確保すればプログラム全体の健全性がコンパイラにより保証されること http://mevius.5ch.net/test/read.cgi/tech/1656285423/23
75: デフォルトの名無しさん [sage] 2022/07/01(金) 20:10:55.31 ID:85aMWYB4 >>73 公式ドキュメントの方法じゃないけどVSCodeのrust-analyzer使えばlaunch.jsonやtasks.json書かなくても簡単にRustのデバッグできるよ UIは実行後のウィンドウでCtrl+Shift+iでWebView Consoleが開くからconsole.logはこっちのコンソールで確認できる ただUIのjsのブレークがうまくいかないからこっちは俺が教えてほしい http://mevius.5ch.net/test/read.cgi/tech/1656285423/75
179: デフォルトの名無しさん [sage] 2022/07/05(火) 02:12:03.31 ID:WHTTcdQX >>165 「全てunsafe」だぞ。 アプリ全体をunsafeということだ。 なら、C/C++で十分。 http://mevius.5ch.net/test/read.cgi/tech/1656285423/179
287: デフォルトの名無しさん [sage] 2022/07/09(土) 11:50:07.31 ID:lwwTn4Ql どちらにしてもRust使っても気楽にコーディングできるわけでもなく メモリ構造考えなければいけないんですね http://mevius.5ch.net/test/read.cgi/tech/1656285423/287
386: デフォルトの名無しさん [sage] 2022/07/20(水) 22:16:07.31 ID:gROTqHCf ま、2-3年後にどうなってるかだな バックにGoogleいるらしいから開発終了なんてことはなさそうだが http://mevius.5ch.net/test/read.cgi/tech/1656285423/386
633: 628 [sage] 2022/09/05(月) 17:50:42.31 ID:Y4+oTyIj 例えばこんなの fn func(x: u8, y: u8) -> u8 { let x32 = x as i32; let y32 = y as i32; let z32 = (((x32 - y32) * 170) >> 16) + y32; return z32 as u8; } 4行使うのは冗長かなーと思わなくもなく・・・ テンポラリ変数の名前を考えるのもちょっと面倒だし http://mevius.5ch.net/test/read.cgi/tech/1656285423/633
645: デフォルトの名無しさん [sage] 2022/09/07(水) 08:24:04.31 ID:41cUJGIp もちろん そして依存しないよう3種類用意されてる assert_eq!(0x01020304, u32::from_be_bytes([1, 2, 3, 4])); // big endian assert_eq!(0x04030201, u32::from_le_bytes([1, 2, 3, 4])); // little endian assert_eq!(XXX, u32::from_ne_bytes([1, 2, 3, 4])); // native endian http://mevius.5ch.net/test/read.cgi/tech/1656285423/645
697: デフォルトの名無しさん [sage] 2022/09/10(土) 20:36:28.31 ID:BhJh8aSd >>693 let a = ...; let mut a = a; みたいに書いた場合、一個目のaと二個目のaは別の変数扱いでそれぞれ個別に領域が割り当てられるよ 二個目のaに格納されるのはaの値で、ポインタじゃないから一個目のaが書き込み不可な領域に格納されていたとしても 二個目のaのために割り当てられた読み書き可能な領域に一個目のaの値がコピーされるような動作になるはず 最適化によって一個目のaと二個目のaが同じ領域を使い回すようになるかもしれないけど、二個目のa定義後はその領域に対する書き込みは可能なことが保証されてるはず transmuteを呼び出した場合も同じで、 transmute(a) という呼び出しをした場合transmuteに渡されるのはaの値なので、二個目のaの定義後は問題なくaに書き込めるはず ただし、transmuteに&aを渡して&mutに変換するみたいなことをすると未定義動作になるから注意は必要 https://doc.rust-lang.org/reference/behavior-considered-undefined.html > Mutating immutable data. All data inside a const item is immutable. Moreover, all data reached through a shared reference or data owned by an immutable binding is immutable, unless that data is contained within an UnsafeCell<U>. http://mevius.5ch.net/test/read.cgi/tech/1656285423/697
775: デフォルトの名無しさん [sage] 2022/09/23(金) 23:40:33.31 ID:EyovOcQI 双方でマーシャル/アンマーシャルが必要になって無駄だよね http://mevius.5ch.net/test/read.cgi/tech/1656285423/775
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.041s