C/C++のソースをRustへ全力で置き換えるスレ (40レス)
C/C++のソースをRustへ全力で置き換えるスレ http://mevius.5ch.net/test/read.cgi/tech/1681777958/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
1: デフォルトの名無しさん (アウアウウー Saef-/q5i) [sage] 2023/04/18(火) 09:32:38.92 ID:sxhvE7iUa !extend:on:vvvvv:1000:512 !extend:on:vvvvv:1000:512 みなさまから持ち込まれたご不要になりました古Cソース古C++コード(質問含む)をRustへ全力で置き換えるスレです ■関連スレ 結局C++とRustってどっちが良いの?2traits https://mevius.5ch.net/test/read.cgi/tech/1680363777/ Rust part20 https://mevius.5ch.net/test/read.cgi/tech/1677771928/ プログラミング言語 Rust 4 https://mevius.5ch.net/test/read.cgi/tech/1514107621/ その他は >>2- ■ワッチョイ スレ建て時、1〜3行目に !extend:on:vvvvv:1000:512 !extend:on:vvvvv:1000:512 !extend:on:vvvvv:1000:512 をコピー Rustの優位性とやらを全力で語りやがれ VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured http://mevius.5ch.net/test/read.cgi/tech/1681777958/1
2: デフォルトの名無しさん (アウアウウー Sacb-/q5i) [sage] 2023/04/18(火) 09:37:22.98 ID:sxhvE7iUa ■関連 C/C++の宿題片付けます 170代目 https://mevius.5ch.net/test/read.cgi/tech/1456911928/ C/C++の宿題片付けます 170代目 https://mevius.5ch.net/test/read.cgi/tech/1456647534/ Rust(unsafe) vs C https://mevius.5ch.net/test/read.cgi/tech/1646151892/ 競プロにおいてのRust https://mevius.5ch.net/test/read.cgi/tech/1663352373/ そんなにRust,Rust言うならゲームエンジンでも https://mevius.5ch.net/test/read.cgi/tech/1678619820/ Rustレスバトル会場 https://mevius.5ch.net/test/read.cgi/tech/1657382429/ Rustアンチスレ https://mevius.5ch.net/test/read.cgi/tech/1509028624/ 排斥すべきゴミ言語 C++ Rust 他 https://mevius.5ch.net/test/read.cgi/tech/1643696741/ Rust part19 https://mevius.5ch.net/test/read.cgi/tech/1674007100/ Rust part6 https://mevius.5ch.net/test/read.cgi/tech/1532697692/ http://mevius.5ch.net/test/read.cgi/tech/1681777958/2
3: デフォルトの名無しさん (アウアウウー Sacb-/q5i) [sage] 2023/04/18(火) 09:48:41.62 ID:sxhvE7iUa 数行で収まらないソースは以下を適当に使ってURLを晒してください https://paiza.io/projects/QiBg8xTHsfFaXapaNAIdvQ https://ideone.com/ https://wandbox.org/ https://techiedelight.com/compiler/ https://dpaste.com/ https://pastebin.com/ http://mevius.5ch.net/test/read.cgi/tech/1681777958/3
4: デフォルトの名無しさん (アウアウウー Sacb-/q5i) [sage] 2023/04/18(火) 10:50:11.14 ID:sxhvE7iUa 本家 https://play.rust-lang.org/ (メモ) >>3-4 で挙げたうちの play.rust-lang.org と wandbox.org では使っていない import で warning 出る どちらも default が #[warn(unused_imports)] 不要な use を消すか #![allow(unused)] を入れる等適当に http://mevius.5ch.net/test/read.cgi/tech/1681777958/4
5: デフォルトの名無しさん (アウアウウー Sacb-/q5i) [sage] 2023/04/18(火) 10:50:48.56 ID:sxhvE7iUa 興味がある人はブラウザでどうなるか試してみよう safeでもメモリはぶっ壊せる https://speakerdeck.com/moratorium08/rustfalseunsound-hole-issue-number-25860woli-jie-suru http://mevius.5ch.net/test/read.cgi/tech/1681777958/5
6: デフォルトの名無しさん (ワッチョイ a75f-iKPJ) [sage] 2023/04/18(火) 12:25:27.86 ID:NALS/zAj0 ワッチョイ付きじゃ例の人は来ないから隔離スレとして機能しないぞ http://mevius.5ch.net/test/read.cgi/tech/1681777958/6
7: デフォルトの名無しさん (スフッ Sd7f-l2LK) [sage] 2023/04/18(火) 13:42:02.96 ID:7GOdztOAd おながいしまつ https://ideone.com/L9TZlR http://mevius.5ch.net/test/read.cgi/tech/1681777958/7
8: デフォルトの名無しさん (アウアウウー Sacb-Naft) [sage] 2023/04/18(火) 15:42:16.79 ID:sxhvE7iUa >>7 https://dpaste.com/4WBBERMTB http://mevius.5ch.net/test/read.cgi/tech/1681777958/8
9: デフォルトの名無しさん (アウアウウー Sacb-/q5i) [sage] 2023/04/19(水) 01:42:14.55 ID:rDAf/S/Pa もうちょっとスッキリ https://play.rust-lang.org/?version=stable&mode=release&edition=2021&gist=c4e09ff30cf2769ee28c5e0cfa2e2e1e dependencies 描かなくて良い play.rust-lang.org ありがたや http://mevius.5ch.net/test/read.cgi/tech/1681777958/9
10: デフォルトの名無しさん (スププ Sd7f-l2LK) [] 2023/04/19(水) 03:35:41.37 ID:5n0sPtaFd おながいしまつ https://ideone.com/iPWHR0 http://mevius.5ch.net/test/read.cgi/tech/1681777958/10
11: デフォルトの名無しさん (スフッ Sd7f-l2LK) [] 2023/04/20(木) 07:32:25.61 ID:4QbBG9add まだでつか? http://mevius.5ch.net/test/read.cgi/tech/1681777958/11
12: デフォルトの名無しさん (アウアウウー Sa21-1cZQ) [sage] 2023/04/22(土) 05:13:45.40 ID:ve/ll5uRa ライフタイム付き再帰構造体を再帰関数で回してlifetimeのvarianceで苦しむまでがボローチェッカチュートリアルです http://mevius.5ch.net/test/read.cgi/tech/1681777958/12
13: デフォルトの名無しさん (アウウィフ FF21-1cZQ) [] 2023/04/23(日) 10:52:30.36 ID:XxfCyR3vF 制約は安全性を高めるためなんだろうけど率直に言ってウザいからな 他人に書かせるならRustを選ぶかもしれんがw 自分で書くものにはRustは不要かな http://mevius.5ch.net/test/read.cgi/tech/1681777958/13
14: デフォルトの名無しさん (アウウィフ FF21-1cZQ) [sage] 2023/04/23(日) 18:43:21.25 ID:y593Lq73F >>10 勉強になった https://play.rust-lang.org/?version=stable&mode=release&edition=2021&gist=8d0504c0ffbfe198b0107e49e814315b https://gist.github.com/rust-play/8d0504c0ffbfe198b0107e49e814315b http://mevius.5ch.net/test/read.cgi/tech/1681777958/14
15: デフォルトの名無しさん (アウウィフ FF21-YWDm) [] 2023/04/28(金) 10:49:45.13 ID:pksuSfeeF 多目的トレイト http://mevius.5ch.net/test/read.cgi/tech/1681777958/15
16: デフォルトの名無しさん (スププ Sdbf-Dpku) [sage] 2023/05/02(火) 14:47:07.64 ID:03fZg/+od おながいしまつ https://pastebin.com/k1WxrDhN http://mevius.5ch.net/test/read.cgi/tech/1681777958/16
17: デフォルトの名無しさん (ワッチョイ 9f79-zzYQ) [sage] 2023/05/02(火) 19:44:51.40 ID:CHSyAGjU0 C++toRustトランスレーター作ろうとは思わないの http://mevius.5ch.net/test/read.cgi/tech/1681777958/17
18: デフォルトの名無しさん (スププ Sdbf-Dpku) [] 2023/05/04(木) 14:29:32.75 ID:lyoWn3h4d ただのトランスパイラならbindgenで足りる どうせunsafeだらけになるし MFCみたいな糞wrapperになるのが目に見えてる APIからRust化しないと意味無いのでは http://mevius.5ch.net/test/read.cgi/tech/1681777958/18
19: デフォルトの名無しさん (オイコラミネオ MM6b-fitb) [sage] 2023/05/05(金) 00:00:57.72 ID:tbrjl4OGM 何でも置き換えればいいのかな? 例えばtouchのような対象も小さく即終わるコマンドとかも書き換えたほうがいいのか? http://mevius.5ch.net/test/read.cgi/tech/1681777958/19
20: デフォルトの名無しさん (オイコラミネオ MM6b-fitb) [sage] 2023/05/05(金) 00:02:42.59 ID:tbrjl4OGM 書き替えたら歴史に名が残るので書き換えると言うレベルじゃないかと それに気が付いて勝手にどんどん書き換えても正式に採用してもらえるのかは謎 http://mevius.5ch.net/test/read.cgi/tech/1681777958/20
21: デフォルトの名無しさん (ワッチョイ 1279-y4C+) [sage] 2023/05/06(土) 03:39:03.02 ID:l5Xh2UOq0 それより自演失敗してますよ http://mevius.5ch.net/test/read.cgi/tech/1681777958/21
22: デフォルトの名無しさん (ワイーワ2 FF6a-ouLR) [sage] 2023/05/08(月) 11:49:41.64 ID:PotcPEgCF cc とか bindgen とか試したが 確かにそこそこ使えるが微妙に完成度は低いと感じた 指定するオプションが足りないだけなのか c の source は比較的完成度高くて cpp の source は色々残念な結果になるイメージ http://mevius.5ch.net/test/read.cgi/tech/1681777958/22
23: デフォルトの名無しさん (ワッチョイ 169b-/J4k) [sage] 2023/05/08(月) 12:56:13.49 ID:imilCHLn0 Cはlinuxカーネルにも入るし真面目にやらんといかんけど、C++とはまだお遊びフェイズってことだろ。 C++erはまだまだRust馬鹿にしてるし。 http://mevius.5ch.net/test/read.cgi/tech/1681777958/23
24: デフォルトの名無しさん (スプッッ Sd52-8wHc) [sage] 2023/05/08(月) 15:04:33.73 ID:NYRttg47d 結局Rust移行には無軌道な俺俺ラッパーライブラリに振り回される覚悟が要るしなぁ あまり気が進まないのは理解できるでしょ http://mevius.5ch.net/test/read.cgi/tech/1681777958/24
25: デフォルトの名無しさん (アウアウウー Sac3-ouLR) [sage] 2023/05/09(火) 10:11:05.41 ID:MyUREp4Fa 新規でRustは良いと思うけど 元々C/C++のプロジェクトをRustにわざわざ入れ替えるのは unsafe使いまくりで生ポ回避しただけのRust風C/C++コードにしかならない 気に入らないからRustらしいRustコードに少しでも近付けようとすると 結局元のコードより読み難くなるので無駄な努力に感じる 既存のC/C++資産は仮に負の資産であっても下手に触らずそのまま使う方が吉 本気で入れ替えたいなら理想を言えばAPIから再設計した方が良い ところがRustのためのRust純正Crateになると結局C/C++の人らは近付かなくなるな http://mevius.5ch.net/test/read.cgi/tech/1681777958/25
26: デフォルトの名無しさん (アウウィフ FFc3-KIRb) [sage] 2023/05/11(木) 10:19:47.83 ID:tfz6F7+EF bindgen::Builder に対して .generate_inline_functions(true) を付けてやると bindings.rs への変換で再現性はチョット上がったが 結局 link でエラー出るわ orz cc で -fno-default-inline で link 出来るようだが効率悪そう (inline だから当たり前だな) http://mevius.5ch.net/test/read.cgi/tech/1681777958/26
27: デフォルトの名無しさん (ワッチョイ 335f-GJof) [sage] 2023/05/15(月) 02:39:55.46 ID:s5edYhaR0 完全に思い付きで言うけどltoしてみれば? http://mevius.5ch.net/test/read.cgi/tech/1681777958/27
28: デフォルトの名無しさん (アウアウウー Sacd-MrxJ) [] 2024/03/27(水) 10:07:59.15 ID:afJGV/5Aa 結局のところ Box::new(hoge) じゃなくて Arc::pin(hoge) ってことだよな http://mevius.5ch.net/test/read.cgi/tech/1681777958/28
29: デフォルトの名無しさん (アウアウウー Sacd-MrxJ) [] 2024/03/27(水) 10:09:11.07 ID:afJGV/5Aa >>22 C++とRustの相性は最悪 http://mevius.5ch.net/test/read.cgi/tech/1681777958/29
30: デフォルトの名無しさん (ワッチョイ 8228-vSrI) [] 2024/03/28(木) 00:09:26.54 ID:61/ABBlz0 無駄な努力だな。。 移行できるレベルで所有権がはっきりしてるコードならそのままのコードで十分運用できるだろ。 http://mevius.5ch.net/test/read.cgi/tech/1681777958/30
31: デフォルトの名無しさん (ワッチョイ 6107-Re1+) [sage] 2024/03/28(木) 15:38:46.41 ID:160/Pdit0 発注元が言語指定してくるから 政府の勧告に基づき、今後の置き換え案件はC/C++は排除するって言ってきたりするようになるんだろう C++はともかく、Cはトランスレータができるだろうから そして、トランスレータの知見から、safe C/C++が育っていくだろう http://mevius.5ch.net/test/read.cgi/tech/1681777958/31
32: デフォルトの名無しさん (オッペケ Sr79-M0x+) [sage] 2024/03/28(木) 17:04:34.56 ID:25qMudWUr 美味しい仕事じゃね ミシュラだのもついでに窓からポイ http://mevius.5ch.net/test/read.cgi/tech/1681777958/32
33: デフォルトの名無しさん (オッペケ Sr79-M0x+) [sage] 2024/03/28(木) 17:05:32.14 ID:25qMudWUr return は一箇所にしろ~ 省略出来るぞガハハ http://mevius.5ch.net/test/read.cgi/tech/1681777958/33
34: デフォルトの名無しさん (ワッチョイ b25f-lBRV) [sage] 2024/04/08(月) 19:14:28.45 ID:tTCpytrL0 rustでlongjumpってどうやんの? http://mevius.5ch.net/test/read.cgi/tech/1681777958/34
35: デフォルトの名無しさん (オッペケ Sr5f-zzFp) [sage] 2024/04/08(月) 21:06:20.57 ID:6B+IO5Hjr libcにないのかい http://mevius.5ch.net/test/read.cgi/tech/1681777958/35
36: デフォルトの名無しさん (アウアウウー Sabb-IS2W) [] 2024/04/09(火) 11:30:43.03 ID:kb2+15Kqa 毎日一日一回必ず遅くなる cargo build cargo test 糞仕様ω http://mevius.5ch.net/test/read.cgi/tech/1681777958/36
37: デフォルトの名無しさん (スププ Sd02-aQbW) [] 2024/04/09(火) 11:53:29.89 ID:KoSn7rCkd 数万行にも及ぶC/C++をRustに書き換えるのは狂気の沙汰 http://mevius.5ch.net/test/read.cgi/tech/1681777958/37
38: デフォルトの名無しさん (ワッチョイ 7f07-OINQ) [sage] 2024/04/09(火) 16:27:34.77 ID:ubWOnQ1+0 手で直してエンバグしてたら、C/C++ free にする意味がなくなる 自動変換ソリューション一択、実用化待ちだと思う それが定着したら、最初から「そういう風に」C/C++を書くのも定着してくると思う http://mevius.5ch.net/test/read.cgi/tech/1681777958/38
39: デフォルトの名無しさん (アウアウウー Sa83-TxeL) [] 2024/04/21(日) 15:50:31.20 ID:aDRU4soda Rust リファクタリングしてるときに trait 境界が変わって あれ?ってなることが多いな http://mevius.5ch.net/test/read.cgi/tech/1681777958/39
40: デフォルトの名無しさん (アウアウエー Sa4a-WcQO) [] 2025/03/23(日) 07:56:32.96 ID:jrseZUS+a let bits = vec![false; 32]; これでbitsのサイズが4バイトになってくれるような仕組みはRustにありますか? http://mevius.5ch.net/test/read.cgi/tech/1681777958/40
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.008s