- 1 名前:デフォルトの名無しさん [2018/02/11(日) 20:07:24.54 ID:ri7dLd1B.net]
- Mozilla発のRust言語のスレ
公式 https://www.rust-lang.org/ https://blog.rust-lang.org/ https://github.com/rust-lang/rust Web上の実行環境 https://play.rust-lang.org 前スレ https://mevius.5ch.net/test/read.cgi/tech/1507970294/
- 321 名前:デフォルトの名無しさん [2018/04/12(木) 01:30:08.73 ID:JdbozTc/.net]
- >>303
これに関しては自分がC FFIのコードを滅多に書かないから「そうだったっけ?」くらいにしか考えなかったけどよく考えたら全然違うよね。 まず、値渡しなら引数・戻り値ともに何の問題もない。そのまま渡せばいい。 ポインタ渡し(Box<T>)だった場合はCの関数の引数が所有権か借用のどちらを欲してるのかを確認して、 所有権を欲しがってるならBox::into_raw(x)で所有権を渡せばいいし、 借用が必要ならx.as_ref() as *const _ もしくはx.as_mut() as *mut _で渡せばいい。 戻り値の方ではC側から所有権が渡されてるはずだからBox::from_raw(px)でBox<T>に戻せばOK。 文字列(String)の場合はCStringに変換してから後はBox<T>と同様にinto_raw, from_raw使えばいいだけ。 Vec<T>とかを渡そうとする場合はx.as_ptr()またはx.as_mut_ptr()と場合によってはmem::forget(x)が必要になるんじゃないかな? 受け取る場合はVec::from_raw_parts(px, len, cap)を使えばいいはず。(前述のとおりC FFIはあまり詳しくはないので間違ってたら指摘して下さい) unsafeの中に何を書けば良いのかはC側のどんな関数を呼ぶのか次第で変わってくるけど、少なくともDropトレイトに関しては全く必要ない。 Box<T>やVec<T>等にあらかじめ実装されてるDropトレイトに任せればいいだけ。むしろ君はDropトレイト使って一体何する気だったのか…?
- 322 名前:デフォルトの名無しさん [2018/04/12(木) 01:30:27.15 ID:JdbozTc/.net]
- Rustのアンチするのは一向に構わんが、せめて嘘をつくのはやめようね。
- 323 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 03:23:54.50 ID:XYZqcSuW.net]
- C FFIとやらを使うためにはRustの知識だけでなくCの知識も必要
Rustだけ学べばいいなんてことはない
- 324 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 06:41:03.77 ID:1NMGlh89.net]
- >>323
cの関数呼ぶんだから当然だろ
- 325 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 09:05:15.80 ID:IekpLPdE.net]
- >>321
Rustで確保したリソースをCに渡す場合は確かにdropいらないけど、 C側で確保したリソースについては必要では? Cから何かハンドルが帰ってきて最後にCでcloseするパターン。
- 326 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 11:33:57.87 ID:6MGFsFO1.net]
- >>325
Rust側でDropしないためにDropの実装を上書きする必要があるということ?
- 327 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 12:23:34.05 ID:IekpLPdE.net]
- >>326
Cの関数内で確保したリソースは 当然Rustデフォルトのdrop実装では解放されないから 自分でdrop実装して解放する必要がある、という話。
- 328 名前:デフォルトの名無しさん [2018/04/12(木) 13:14:59.37 ID:JdbozTc/.net]
- >>325
>>303は「メモリリーク」って書いてあるからヒープに確保されたメモリの解放に関しては Dropトレイトを実装する必要性なんか全く無いってことを>>321で説明してる。 >>325の言ってる「リソース」ってのはファイルとかソケットとかのことを言ってるんだよね そっちはメモリリークとはまた別の話になるので状況によるんじゃないかな… ただ、OSが提供してるリソース(ファイルやソケット)くらいなら、File, TcpListenerとかには Windows用とUnix用にそれぞれinto_raw_xxx(), from_raw_xxx(), as_raw_xxx()とかが用意されてるから それを使えば後のことはFile, TcpListenerのdrop実装に任せてしまって問題ないはず。 C側(ライブラリ)で独自に実装されてるリソース(close等の後処理が必要な実装)の場合は close部分をRustのDropトレイトの実装として移植する必要はあるだろうね。 (もう一度言うけど、自分は普段はC FFIを使わないから詳しくはないので、間違ってたら指摘して下さい)
- 329 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 15:11:14.26 ID:UiqgOhpn.net]
- >>328
メモリリークに限定するとしても CでmallocしたポインタがRustに渡ってきた場合 Rustが勝手に解放するわけにはいかないから drop実装してfreeを呼ぶ必要がある。
- 330 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 17:39:03.84 ID:JdbozTc/.net]
- >>329
ちょっと言ってる意味がわからない Cでmallocされたものであっても所有権ごと渡されていれば解放の責任はRustにある ていうか、Rust側で勝手に解放しちゃいけないと言ってるのに Dropトレイトの実装でfreeしたらやっぱりRust側で勝手に解放しちゃってるじゃん 言ってること矛盾してない? CとRustで型のメモリレイアウトが一致してればあとはBox型に任せるだけだよ Cから渡されてくるポインタの型のメモリレイアウトが公開されていなければ (つまりvoidポインタだったりオペーク構造体(オペークポインタ)だったなら)話は別だけど。 その場合はRustはハンドルをもらうだけでいかなる操作(メモリの解放(free)も含む)もC FFIでC側に 頼むしかない(メモリレイアウトがわからない限りはRust側ではどうあがいても何も出来ない)ので Dropトレイト実装してdrop時にC側にメモリの解放処理も頼む必要がある
- 331 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 18:12:43.26 ID:B4Vmqq7H.net]
- FFIの場合jemallocかシステムのmallocかの違い問題になることありそう
- 332 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 21:02:25.76 ID:EBEN0Rpp.net]
- >その場合はRustはハンドルをもらうだけでいかなる操作(メモリの解放(free)も含む)もC FFIでC側に
>頼むしかない(メモリレイアウトがわからない限りはRust側ではどうあがいても何も出来ない)ので >Dropトレイト実装してdrop時にC側にメモリの解放処理も頼む必要がある だからDropトレイトを意識的に実装せにゃならんと始めから言ってるだろうに。 このタイプは絶対仕事でモメるわ。
- 333 名前:デフォルトの名無しさん [2018/04/12(木) 22:43:32.09 ID:JdbozTc/.net]
- >>322
だったら「Rust側からはメモリレイアウトが分からないようなvoidポインタや オペーク構造体がC側から渡された場合は」という前提条件をきちんと書け。 条件を何も書かずに「drop trait を明示的に書かなきゃならん」とだけ書かれれば 全ての場合で必要だと言っているようにしか見えない。 あと、>>321で「全く」と書いてしまったことは悪かったと思っている >>321を書いてる時点は上記のような可能性に気づいていなかった…申し訳ない。 お前みたいに「特定の条件下でしか適用されないこと」に対して条件を書かずに結論だけ書いて 「自分はきちんと伝えた」とか思っちゃってるキチガイとの仕事とかこっちの方から願い下げだから。
- 334 名前:デフォルトの名無しさん [2018/04/12(木) 22:50:55.21 ID:JdbozTc/.net]
- >>331
そこは自分も同じことを思った。 mallocとjemallocの実装の中身とか見たことないけど、混在してても問題ないのかな?
- 335 名前:デフォルトの名無しさん [2018/04/12(木) 22:54:07.42 ID:JdbozTc/.net]
- >>333 訂正
>>322 → >>332
- 336 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 23:08:05.77 ID:9OO0KoJN.net]
- >>330
「勝手に」の部分が曖昧だったので正確に書くと、 Rustはメモリ解放すべきタイミングは知っている (すなわちCから受け取ったポインタのlifetimeが切れたとき) Rustはメモリ解放の方法は知らない (なぜならCのmallocがシステムのmallocなのかjemallocなのか別の何かなのか知るすべがないから) なので方法について教えるためにdropを実装する。 (このdropでCのfreeを呼べば、mallocと同じメモリアロケータが保証される) ちなみにメモリアロケータ間の互換性はないので、 例えばlibcでmallocしてjemallocでfreeすると多分SEGVする。 コード例は以下でもどうぞ。 https://stackoverflow.com/questions/31486519/how-do-i-free-a-char-allocated-via-ffi-in-rust
- 337 名前:デフォルトの名無しさん [2018/04/12(木) 23:35:57.15 ID:JdbozTc/.net]
- >>336
マジか…mallocとjemallocは混在できないのか… そうなると、C側でmallocされてれば必ずC側にfreeしてもらうしかないということか… じゃあ今まで俺が書いた方法じゃダメなケースもあるじゃん…すまん。 自分の無知を晒す羽目にはなったが、むしろ今知れてよかったわ。 でも、そうなると新たな疑問が…
- 338 名前:デフォルトの名無しさん mailto:sage [2018/04/13(金) 00:47:00.07 ID:AYGoZS+y.net]
- jemallocじゃなくてシステムのアロケーター使うオプションだかfeatureだか使えば良いかな
- 339 名前:337 [2018/04/13(金) 01:19:50.99 ID:rxyiIXLh.net]
- >>336
間違いの指摘と情報提供のお礼言うの忘れてた。Thanks! あと、これってRustでのC FFI に限った話じゃないよね? C同士でさえもアロケータに何を使ってるか次第で同じ問題が発生する。 Cは時々使ってたのに(しかも仕事で)これを知らなかったのはヤバいな… 恐らく今まではたまたま同じアロケータを使ってたから問題が起きてなかっただけか… 戻り値で文字列(char *)が来た時とかこっちで勝手にfreeしてたぞ…(^_^;) まあ、どのアロケータ使ってるかなんて誰も気にも留めてなかったし大丈夫だろうけど、 今後は気を付けないとな…
- 340 名前:デフォルトの名無しさん [2018/04/13(金) 01:26:39.63 ID:V+3RqgGh.net]
- すべての有用なライブラリがRust製にならない限り
Rustだけを学べばよいという状況は訪れずCやC++の習得も必須
- 341 名前:デフォルトの名無しさん mailto:sage [2018/04/13(金) 02:09:57.24 ID:zBD4nIN6.net]
- >>339
どういたしまして。 C同士の場合は普通glibcへの動的リンクだし LD_PRELOADとかでjemallocなんかに差し替えても プログラム全体で差し替わるから特に問題にはならないかと。 もしメモリアロケータを静的リンクしたライブラリとかを使っていればまずいはず。 ただそういう場合はリソースハンドルっぽいAPIになりがちなので そのままfreeしようとは思わないかもしれない。
- 342 名前:デフォルトの名無しさん mailto:sage [2018/04/13(金) 02:17:49.88 ID:I2PL3qG3.net]
- >>340
そりゃそうだろ、なにいってんだ
- 343 名前:デフォルトの名無しさん mailto:sage [2018/04/13(金) 02:33:17.17 ID:nqEsOLBj.net]
- やくに立たねー結局cか。rustって趣味だな。
- 344 名前:デフォルトの名無しさん [2018/04/13(金) 04:00:10.77 ID:V+3RqgGh.net]
- C/C++だけ覚える
or RustとC/C++を覚える 学習コスト高すぎRust
- 345 名前:デフォルトの名無しさん mailto:sage [2018/04/13(金) 10:22:17.48 ID:w0WUHq34.net]
- >>343
趣味でモジラの栄養やるとかどんなドマゾだよ
- 346 名前:デフォルトの名無しさん mailto:sage [2018/04/13(金) 10:26:05.50 ID:w0WUHq34.net]
- 今の会話見るだけでもRustがいかに欠陥言語かわかるのに
それでもRust使うって言うんだからなあ 全部C/C++で書く方が遥かに効率いいしバグも出んわ
- 347 名前:デフォルトの名無しさん mailto:sage [2018/04/13(金) 11:29:35.51 ID:EHHg9a+/.net]
- C覚えるの必須当たり前ってんなら構文もっとC系に寄せれば良かったのに。
- 348 名前:デフォルトの名無しさん mailto:sage [2018/04/13(金) 12:06:18.44 ID:ybbP8EF+.net]
- 今までの流れからその結論は極端すぎるだろ
もう少し工夫しろ
- 349 名前:デフォルトの名無しさん mailto:sage [2018/04/13(金) 12:27:54.41 ID:zH6rmEat.net]
- いつのまにか、FFI使うことが前提になってる流れって、rustをdisりたい勢の必死さがうかがえて、ある意味、面白い。
- 350 名前:デフォルトの名無しさん mailto:sage [2018/04/13(金) 12:52:00.31 ID:Lj3R2dXy.net]
- >>339
CのfreeはNULLなら何もしないと保証されてるけど 解放済みアドレスへのfreeはセグフォ発生するぞ
- 351 名前:デフォルトの名無しさん mailto:sage [2018/04/13(金) 13:00:11.55 ID:w0WUHq34.net]
- Cの資産に寄生しないとろくなもん作れないのに
そのCとの連携部分が腐ってるってことじゃん 使いもんにならねえって評価は妥当だと思うが? それともPure Rustでまともなもん作れるつもりか?
- 352 名前:デフォルトの名無しさん mailto:sage [2018/04/13(金) 17:38:51.06 ID:l4JsQkL9.net]
- まずまともなもんを先に定義してくれ
- 353 名前:デフォルトの名無しさん mailto:sage [2018/04/13(金) 18:09:45.57 ID:Z44eD8et.net]
- バグらない
動く 実用的 上記3点の実績がある
- 354 名前:デフォルトの名無しさん mailto:sage [2018/04/13(金) 18:37:13.42 ID:rxyiIXLh.net]
- 実用的・実積も曖昧だな
どの程度を実用的で実積があると呼ぶのか具体例を提示してくれ 突き詰めていくと「バグらない」も程度によりけりだしな Excelだってバグるときゃバグるし…
- 355 名前:デフォルトの名無しさん mailto:sage [2018/04/13(金) 18:48:56.96 ID:lEd4ahw7.net]
- 本スレは相変わらず過疎だしまじ終わったなこの言語
- 356 名前:デフォルトの名無しさん mailto:sage [2018/04/13(金) 19:00:16.55 ID:vyE43Z1D.net]
- 話に入れないからって「………結局駄目!」ってダサすぎない?
- 357 名前:デフォルトの名無しさん mailto:sage [2018/04/13(金) 19:21:19.79 ID:EHHg9a+/.net]
- jsのファミコンエミュレータをrustで実装し直したらパフォーマンス負けたらしいwww
- 358 名前:デフォルトの名無しさん mailto:sage [2018/04/13(金) 19:27:43.59 ID:a8AOaj4F.net]
- >>357
JSに負けるとか草しか生えんなwwwwwww
- 359 名前:デフォルトの名無しさん mailto:sage [2018/04/13(金) 19:31:48.55 ID:a8AOaj4F.net]
- >>354
Linuxくらいバグらないならいいよ
- 360 名前:デフォルトの名無しさん [2018/04/13(金) 20:22:47.30 ID:rxyiIXLh.net]
- >>357
噂に尾ひれがつく瞬間を目の当たりにして草 多分これ↓のことだろ blog.bokuweb.me/entry/2018/02/08/101522 誰かC x wasmで書き直してみろよ。きっと似たような結果になるから >>359 ついにLinuxと同レベルじゃないと認めないとか言い始めたぞ…
- 361 名前:デフォルトの名無しさん mailto:sage [2018/04/13(金) 20:58:47.99 ID:Ek+y1xD6.net]
- >>357,358
ブラウザ JS版 Wasm版 Chrome 63 4.36ms 5.68ms Firefox 58 5.76ms 3.98ms Safari 11 9.98ms 4.21ms う〜ん草しか生えんね 草草草の草ァ!だね
- 362 名前:デフォルトの名無しさん mailto:sage [2018/04/13(金) 21:29:03.20 ID:a8AOaj4F.net]
- >>361
wasmじゃなくてRustと比べてから言えよ
- 363 名前:デフォルトの名無しさん mailto:sage [2018/04/13(金) 21:40:19.55 ID:Ek+y1xD6.net]
- >>362
草しか生えんわwww
- 364 名前:デフォルトの名無しさん mailto:sage [2018/04/13(金) 22:58:07.23 ID:LXloKsM4.net]
- まあメモリの管理モデルが違う言語同士でやりとりすれば
色々苦労するのは当たり前なんだよね。 それなのに「rustは勝手に解放してくれる」とか言い張っちゃう信者が有害な訳だよ。 rustが悪いというよりか、こういう馬鹿が多いところが問題。
- 365 名前:デフォルトの名無しさん mailto:sage [2018/04/13(金) 23:04:17.07 ID:bso+BPDq.net]
- Haskellは副作用が無いとか参照透過性があるって言った時に
C FFIを持ち出して反論するのと同様の不毛さを感じる
- 366 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 07:00:49.94 ID:xdB8fLqn.net]
- 不毛?現実によくあることなのにね。。
言語の一番下ではアセンブラが動いてるんだから、そことどう調和もしくは隠蔽させるかってのは コンピュータ言語にとって本質でしょうが。
- 367 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 07:18:52.94 ID:S65yHOqM.net]
- は?何で一番下が機械語じゃなくてアセンブラなの馬鹿なの?
- 368 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 09:16:33.44 ID:/jFvD9M/.net]
- コンピュータ言語w
- 369 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 11:34:49.77 ID:+NzeE6vg.net]
- アセンブラと機械語は1:1で訳せるから…
- 370 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 11:47:39.37 ID:oZ68B8i3.net]
- アセンブリやろ
- 371 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 13:58:04.39 ID:dXnZwWyG.net]
- 結局Rustはサーバ向けでもコマンドツール向けでもGUI向けでも組み込み向けでもない
って事実はほんと覆らんよ
- 372 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 14:12:11.55 ID:9z5cq9ls.net]
- 話に入れないからって「………結局駄目!」ってダサすぎない?
- 373 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 14:55:11.55 ID:42ccGSN6.net]
- jsのファミコンエミュレータをrustで実装し直したらパフォーマンス負けたらしいwww
- 374 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 15:21:13.70 ID:TDyE7icd.net]
- >>372
悔しかったら反論してみたらぁ?
- 375 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 15:23:55.88 ID:xdB8fLqn.net]
- >>372
メモリ管理みたいな重要なことについてデララメ振りまいて、 「理解しない奴がrust批判してる」とか言い出してる方が恥ずいわ。
- 376 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 15:34:36.03 ID:TDyE7icd.net]
- 上の流れ素直に読んでも、
メモリ管理も全部C側で完結させるのが一番いいって結論にしかならんぞ? Rustのいいところなんぞ皆無だ
- 377 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 15:44:33.95 ID:TDyE7icd.net]
- というかコンパイラにメモリ管理任せるのが無理だろ。FFIのためにいちいちDrop定義するとか非効率でしかない
メモリ管理はGCに任せるか完全手動にするかの二択なのに、無理矢理そこにヘンテコリンなソリューションもどき持ち込んで混乱引き起こしてるだけじゃん
- 378 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 15:50:41.81 ID:TDyE7icd.net]
- Rustの提案するエセソリューションは機械語のレベルと相性が悪い
CやC++のほうがまだまともなアプローチしてる
- 379 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 15:53:50.88 ID:LmbQudMt.net]
- >>377
うおっ! ここにきてまさかのRAIIを否定し始めるとか予想外すぎたわ! お前C++のスマポってなにか知ってる?
- 380 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 15:55:07.64 ID:TDyE7icd.net]
- >>379
ほとんどのコンパイラで採用されてない仕様書上にしかない機能なんざ知らんよ
- 381 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 15:58:27.76 ID:TDyE7icd.net]
- 実際混乱引き起こしてるまともじゃない方法なのは上の流れで自明だろ
- 382 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 16:02:24.43 ID:LmbQudMt.net]
- >>380
よろしい。そんな君にはJavaがおすすめだ。そっちで元気にやりたまえ。
- 383 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 16:05:01.76 ID:75zALjkM.net]
- 以前も言われてたけど「ひまわり学級の子が普通の授業に出て暴れてる」って表現が実に的確で草
- 384 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 16:07:01.72 ID:TDyE7icd.net]
- 間違ったものを間違った奴が流行らせようとしてるんだからそれには「違う」って言っとかないとダメだろ
話にならんと放置したらいずれ手遅れになるほど蔓延する そうならないうちに叩いておくべきなんだよ
- 385 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 16:10:39.48 ID:w273LxVR.net]
- 混乱引き起こしてるのは違いないけどさ
「俺の頭の中で混乱を引き起こしてる」って正確に書こうよ
- 386 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 16:11:44.32 ID:TDyE7icd.net]
- >>385
上のFFI絡みの流れは俺じゃないけど?
- 387 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 16:15:30.43 ID:w273LxVR.net]
- 完全手動でメモリ管理するのは混乱起きないからいいよね〜
- 388 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 16:21:52.10 ID:TDyE7icd.net]
- >>387
コンパイラに丸投げするよりは良いな 混乱しないって意味だとGCが一番だが
- 389 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 16:27:01.78 ID:nFvlFlcl.net]
- >>375
上のやり取りは俺じゃないけど? 散々間違いがあったら指摘してくれって書いてたのがデタラメを振りまいた? 間違いの指摘に礼を言って終えるところに、鳴りを潜めていたアンチがウキウキで「混乱を引き起こしたRust!!!」と喚き立てた このスレでも何回もやってる流れじゃんクソダセー
- 390 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 16:38:44.62 ID:TDyE7icd.net]
- はいはい内ゲバですね
ほんとくだらん言語
- 391 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 16:43:14.18 ID:nFvlFlcl.net]
- >>390
内にいるつもりなんだお前
- 392 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 16:44:00.69 ID:nFvlFlcl.net]
- インタプリタへの丸投げ>完全手動でメモリ管理>コンパイラへの丸投げ
実行開始までの混乱しない順だなどう考えても
- 393 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 16:47:43.87 ID:TDyE7icd.net]
- >>391
外から内ゲバ眺めてやっぱこの言語くだらねって思ってるだけ C++の(後方互換維持のための苦しい構文追加以外)なにが悪いんだか
- 394 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 17:00:21.56 ID:LmbQudMt.net]
- >>393
スマポが何かを知らないヤツがC++を語り始めたぞ…
- 395 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 17:00:54.52 ID:nFvlFlcl.net]
- >>378
ていうかこれ知りたい Rustの何が(例:MIR)どう機械語との相性が悪く それに対してC/C++のまともなアプローチの具体例を教えて
- 396 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 17:03:21.15 ID:LmbQudMt.net]
- >>395
代弁してやろう。 「自力で頑張る」 以上
- 397 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 17:17:27.65 ID:TDyE7icd.net]
- >>395
結局解放処理は自分で書くんだろ? メモリ上の確保のされ方はコンパイラにはわからないんだから 結局中途半端にしか自動化できないから無意味で、それなら自分で管理した方が結果的に良いって話
- 398 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 17:24:46.46 ID:Syz4zWn3.net]
- 解放の仕方を実装したら、後はコードのどの場所で何回確保しても自動で解放される事が分かってないっぽいね
- 399 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 17:31:29.95 ID:LmbQudMt.net]
- >>398
だってRAIIもスマポも知らないんだもん。しょうがないじゃん
- 400 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 17:34:05.03 ID:nFvlFlcl.net]
- >>397
C FFIとかの一部分で解放処理を書くんだよ お前が言ってる通り「手動」だしお前の好きな「手動」でよかったな 中途半端にとは言っても機能するし「無意味」と言い切るには典型すぎる誤謬 で>>395にまともに答えてくれる?どう相性が悪いの?どんなアプローチ?
- 401 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 17:50:25.61 ID:TDyE7icd.net]
- >>400
今の説明でわからんなら一生わからんよ
- 402 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 17:56:25.03 ID:LmbQudMt.net]
- >>401
あっ! 逃げたww
- 403 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 18:04:42.44 ID:nFvlFlcl.net]
- Q. Rustの何がどう機械語との相性が悪く、それに対してC/C++のまともなアプローチの具体例を教えて
A. 結局中途半端にしか自動化できないから無意味で、それなら自分で管理した方が結果的に良い Rustアンチ君との最後のやり取りがこれなのか…?悲しい
- 404 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 23:45:32.28 ID:lczq2IdA.net]
- いい加減ワッチョイスレに移動しようぜ
- 405 名前:デフォルトの名無しさん [2018/04/14(土) 23:54:45.22 ID:LmbQudMt.net]
- >>404
実際問題ワッチョイは過疎る
- 406 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 03:16:54.39 ID:8wseEBgk.net]
- >>404
YOUがワッチョイのほうで話題ageれば
- 407 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 09:21:32.45 ID:eccSQZbu.net]
- ここはネタスレだからこれでいいよ
まともな話題ないし
- 408 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 10:16:53.40 ID:pCFT19cL.net]
- ワッチョイは運営が管理を放棄するための口実
- 409 名前:デフォルトの名無しさん [2018/04/15(日) 10:33:02.44 ID:E1b18XLI.net]
- ワッチョイあった方が良い派です
- 410 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 11:32:28.09 ID:fK7P6CAL.net]
- いちおう指摘しておくと以下にわっちょい付きのスレはある。
https://mevius.5ch.net/test/read.cgi/tech/1514107621/l50
- 411 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 14:26:16.16 ID:WuS7UUJE.net]
- そう思うんなら勝手にそっちでやってくれ
いちいちこっちに宣伝しないでよろしい
- 412 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 14:57:22.17 ID:eccSQZbu.net]
- せめてスレ立てたやつくらいはあっち書き込んでくれよ。
ワッチョイスレ(本スレ)には俺しかいない。
- 413 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 15:05:21.27 ID:6SePuRaV.net]
- 人が集まってる(勝ち残った)方が本スレ
- 414 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 16:17:50.87 ID:vLrea5+q.net]
- アンチスレの方が人多いっていい加減認めようぜ
- 415 名前:デフォルトの名無しさん [2018/04/15(日) 20:40:55.33 ID:oxsxYGoa.net]
- >>414
いちおうアンチスレも存在するんだぜ mevius.5ch.net/test/read.cgi/tech/1509028624/
- 416 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 21:13:20.51 ID:0BluVJwA.net]
- >>384
大元に言わないで、ここでグダってる時点で説得力無いけどな。
- 417 名前:デフォルトの名無しさん mailto:sage [2018/04/16(月) 09:16:50.73 ID:fU1aO3Gb.net]
- 英語で説明する気力がないんだろ
- 418 名前:デフォルトの名無しさん mailto:sage [2018/04/21(土) 15:59:38.16 ID:GAOK2TS0.net]
- それもあるが日本語の記事でrustマンセーしてるやつは大抵バカっていうのもある。
- 419 名前:デフォルトの名無しさん mailto:sage [2018/04/21(土) 18:22:00.01 ID:u/5OPPGG.net]
- 会話になってないし
時間おいたところで>>395に答えなくてもいいことにはならないからね
- 420 名前:デフォルトの名無しさん mailto:sage [2018/04/22(日) 12:28:50.40 ID:fDht+F2y.net]
- もう答えた
>>397
- 421 名前:デフォルトの名無しさん [2018/04/22(日) 15:34:45.59 ID:4jEar62+.net]
- 自分から「機械語のレベルと相性が悪い(>>378)」と言ってるのに
「具体的にはどういうこと?(>>395)」と聞かれて、 その返答(>>397)に機械語のことが一切出てこないのは流石に草
|

|