C/C++のソースをRustへ全力で置き換えるスレ (40レス)
上下前次1-新
1: (アウアウウー Saef-/q5i) 2023/04/18(火)09:32 ID:sxhvE7iUa(1/6) AAS
!extend:on:vvvvv:1000:512
!extend:on:vvvvv:1000:512
みなさまから持ち込まれたご不要になりました古Cソース古C++コード(質問含む)をRustへ全力で置き換えるスレです
■関連スレ
結局C++とRustってどっちが良いの?2traits
2chスレ:tech
Rust part20
省11
2(1): (アウアウウー Sacb-/q5i) 2023/04/18(火)09:37 ID:sxhvE7iUa(2/6) AAS
■関連
C/C++の宿題片付けます 170代目
2chスレ:tech
C/C++の宿題片付けます 170代目
2chスレ:tech
Rust(unsafe) vs C
2chスレ:tech
省14
3(1): (アウアウウー Sacb-/q5i) 2023/04/18(火)09:48 ID:sxhvE7iUa(3/6) AAS
数行で収まらないソースは以下を適当に使ってURLを晒してください
外部リンク:paiza.io
外部リンク:ideone.com
外部リンク:wandbox.org
外部リンク:techiedelight.com
外部リンク:dpaste.com
外部リンク:pastebin.com
4(1): (アウアウウー Sacb-/q5i) 2023/04/18(火)10:50 ID:sxhvE7iUa(4/6) AAS
本家
外部リンク:play.rust-lang.org
(メモ) >>3-4 で挙げたうちの
play.rust-lang.org と wandbox.org では使っていない import で warning 出る
どちらも default が #[warn(unused_imports)]
不要な use を消すか #![allow(unused)] を入れる等適当に
5: (アウアウウー Sacb-/q5i) 2023/04/18(火)10:50 ID:sxhvE7iUa(5/6) AAS
興味がある人はブラウザでどうなるか試してみよう
safeでもメモリはぶっ壊せる
外部リンク:speakerdeck.com
6: (ワッチョイ a75f-iKPJ) 2023/04/18(火)12:25 ID:NALS/zAj0(1) AAS
ワッチョイ付きじゃ例の人は来ないから隔離スレとして機能しないぞ
7(1): (スフッ Sd7f-l2LK) 2023/04/18(火)13:42 ID:7GOdztOAd(1) AAS
おながいしまつ
外部リンク:ideone.com
8: (アウアウウー Sacb-Naft) 2023/04/18(火)15:42 ID:sxhvE7iUa(6/6) AAS
>>7
外部リンク:dpaste.com
9: (アウアウウー Sacb-/q5i) 2023/04/19(水)01:42 ID:rDAf/S/Pa(1) AAS
もうちょっとスッキリ
外部リンク:play.rust-lang.org
dependencies 描かなくて良い play.rust-lang.org ありがたや
10(1): (スププ Sd7f-l2LK) 2023/04/19(水)03:35 ID:5n0sPtaFd(1) AAS
おながいしまつ
外部リンク:ideone.com
11: (スフッ Sd7f-l2LK) 2023/04/20(木)07:32 ID:4QbBG9add(1) AAS
まだでつか?
12: (アウアウウー Sa21-1cZQ) 2023/04/22(土)05:13 ID:ve/ll5uRa(1) AAS
ライフタイム付き再帰構造体を再帰関数で回してlifetimeのvarianceで苦しむまでがボローチェッカチュートリアルです
13: (アウウィフ FF21-1cZQ) 2023/04/23(日)10:52 ID:XxfCyR3vF(1) AAS
制約は安全性を高めるためなんだろうけど率直に言ってウザいからな
他人に書かせるならRustを選ぶかもしれんがw
自分で書くものにはRustは不要かな
14: (アウウィフ FF21-1cZQ) 2023/04/23(日)18:43 ID:y593Lq73F(1) AAS
>>10
勉強になった
外部リンク:play.rust-lang.org
外部リンク:gist.github.com
15: (アウウィフ FF21-YWDm) 2023/04/28(金)10:49 ID:pksuSfeeF(1) AAS
多目的トレイト
16: (スププ Sdbf-Dpku) 2023/05/02(火)14:47 ID:03fZg/+od(1) AAS
おながいしまつ
外部リンク:pastebin.com
17: (ワッチョイ 9f79-zzYQ) 2023/05/02(火)19:44 ID:CHSyAGjU0(1) AAS
C++toRustトランスレーター作ろうとは思わないの
18: (スププ Sdbf-Dpku) 2023/05/04(木)14:29 ID:lyoWn3h4d(1) AAS
ただのトランスパイラならbindgenで足りる
どうせunsafeだらけになるし
MFCみたいな糞wrapperになるのが目に見えてる
APIからRust化しないと意味無いのでは
19: (オイコラミネオ MM6b-fitb) 2023/05/05(金)00:00 ID:tbrjl4OGM(1/2) AAS
何でも置き換えればいいのかな?
例えばtouchのような対象も小さく即終わるコマンドとかも書き換えたほうがいいのか?
20: (オイコラミネオ MM6b-fitb) 2023/05/05(金)00:02 ID:tbrjl4OGM(2/2) AAS
書き替えたら歴史に名が残るので書き換えると言うレベルじゃないかと
それに気が付いて勝手にどんどん書き換えても正式に採用してもらえるのかは謎
21: (ワッチョイ 1279-y4C+) 2023/05/06(土)03:39 ID:l5Xh2UOq0(1) AAS
それより自演失敗してますよ
22(1): (ワイーワ2 FF6a-ouLR) 2023/05/08(月)11:49 ID:PotcPEgCF(1) AAS
cc とか bindgen とか試したが
確かにそこそこ使えるが微妙に完成度は低いと感じた
指定するオプションが足りないだけなのか
c の source は比較的完成度高くて
cpp の source は色々残念な結果になるイメージ
23: (ワッチョイ 169b-/J4k) 2023/05/08(月)12:56 ID:imilCHLn0(1) AAS
Cはlinuxカーネルにも入るし真面目にやらんといかんけど、C++とはまだお遊びフェイズってことだろ。
C++erはまだまだRust馬鹿にしてるし。
24: (スプッッ Sd52-8wHc) 2023/05/08(月)15:04 ID:NYRttg47d(1) AAS
結局Rust移行には無軌道な俺俺ラッパーライブラリに振り回される覚悟が要るしなぁ
あまり気が進まないのは理解できるでしょ
25: (アウアウウー Sac3-ouLR) 2023/05/09(火)10:11 ID:MyUREp4Fa(1) AAS
新規でRustは良いと思うけど
元々C/C++のプロジェクトをRustにわざわざ入れ替えるのは
unsafe使いまくりで生ポ回避しただけのRust風C/C++コードにしかならない
気に入らないからRustらしいRustコードに少しでも近付けようとすると
結局元のコードより読み難くなるので無駄な努力に感じる
既存のC/C++資産は仮に負の資産であっても下手に触らずそのまま使う方が吉
本気で入れ替えたいなら理想を言えばAPIから再設計した方が良い
省1
26: (アウウィフ FFc3-KIRb) 2023/05/11(木)10:19 ID:tfz6F7+EF(1) AAS
bindgen::Builder に対して
.generate_inline_functions(true)
を付けてやると
bindings.rs への変換で再現性はチョット上がったが
結局 link でエラー出るわ orz
cc で -fno-default-inline で link 出来るようだが効率悪そう
(inline だから当たり前だな)
27: (ワッチョイ 335f-GJof) 2023/05/15(月)02:39 ID:s5edYhaR0(1) AAS
完全に思い付きで言うけどltoしてみれば?
28: (アウアウウー Sacd-MrxJ) 2024/03/27(水)10:07 ID:afJGV/5Aa(1/2) AAS
結局のところ
Box::new(hoge) じゃなくて
Arc::pin(hoge) ってことだよな
29: (アウアウウー Sacd-MrxJ) 2024/03/27(水)10:09 ID:afJGV/5Aa(2/2) AAS
>>22
C++とRustの相性は最悪
30: (ワッチョイ 8228-vSrI) 2024/03/28(木)00:09 ID:61/ABBlz0(1) AAS
無駄な努力だな。。
移行できるレベルで所有権がはっきりしてるコードならそのままのコードで十分運用できるだろ。
上下前次1-新書関写板覧索設栞歴
あと 10 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.024s