C/C++のソースをRustへ全力で置き換えるスレ (39レス)
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
2chスレ:tech
プログラミング言語 Rust 4
2chスレ:tech
省8
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から再設計した方が良い
ところがRustのためのRust純正Crateになると結局C/C++の人らは近付かなくなるな
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) 03/27(水)10:07 ID:afJGV/5Aa(1/2) AAS
結局のところ
Box::new(hoge) じゃなくて
Arc::pin(hoge) ってことだよな
29: (アウアウウー Sacd-MrxJ) 03/27(水)10:09 ID:afJGV/5Aa(2/2) AAS
>>22
C++とRustの相性は最悪
30: (ワッチョイ 8228-vSrI) 03/28(木)00:09 ID:61/ABBlz0(1) AAS
無駄な努力だな。。
移行できるレベルで所有権がはっきりしてるコードならそのままのコードで十分運用できるだろ。
31: (ワッチョイ 6107-Re1+) 03/28(木)15:38 ID:160/Pdit0(1) AAS
発注元が言語指定してくるから
政府の勧告に基づき、今後の置き換え案件はC/C++は排除するって言ってきたりするようになるんだろう

C++はともかく、Cはトランスレータができるだろうから
そして、トランスレータの知見から、safe C/C++が育っていくだろう
32: (オッペケ Sr79-M0x+) 03/28(木)17:04 ID:25qMudWUr(1/2) AAS
美味しい仕事じゃね
ミシュラだのもついでに窓からポイ
33: (オッペケ Sr79-M0x+) 03/28(木)17:05 ID:25qMudWUr(2/2) AAS
return は一箇所にしろ~
省略出来るぞガハハ
34: (ワッチョイ b25f-lBRV) 04/08(月)19:14 ID:tTCpytrL0(1) AAS
rustでlongjumpってどうやんの?
35: (オッペケ Sr5f-zzFp) 04/08(月)21:06 ID:6B+IO5Hjr(1) AAS
libcにないのかい
36: (アウアウウー Sabb-IS2W) 04/09(火)11:30 ID:kb2+15Kqa(1) AAS
毎日一日一回必ず遅くなる
cargo build
cargo test
糞仕様ω
37: (スププ Sd02-aQbW) 04/09(火)11:53 ID:KoSn7rCkd(1) AAS
数万行にも及ぶC/C++をRustに書き換えるのは狂気の沙汰
38: (ワッチョイ 7f07-OINQ) 04/09(火)16:27 ID:ubWOnQ1+0(1) AAS
手で直してエンバグしてたら、C/C++ free にする意味がなくなる
自動変換ソリューション一択、実用化待ちだと思う

それが定着したら、最初から「そういう風に」C/C++を書くのも定着してくると思う
39: (アウアウウー Sa83-TxeL) 04/21(日)15:50 ID:aDRU4soda(1) AAS
Rust リファクタリングしてるときに
trait 境界が変わって
あれ?ってなることが多いな
1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.357s*