C/C++のソースをRustへ全力で置き換えるスレ at TECH
[2ch|▼Menu]
7:デフォルトの名無しさん
23/04/18 13:42:02.96 7GOdztOAd.net
おながいしまつ
URLリンク(ideone.com)

8:デフォルトの名無しさん
23/04/18 15:42:16.79 sxhvE7iUa.net
>>7
URLリンク(dpaste.com)

9:デフォルトの名無しさん (アウアウウー Sacb-/q5i)
23/04/19 01:42:14.55 rDAf/S/Pa.net
もうちょっとスッキリ
URLリンク(play.rust-lang.org)
dependencies 描かなくて良い play.rust-lang.org ありがたや

10:デフォルトの名無しさん (スププ Sd7f-l2LK)
23/04/19 03:35:41.37 5n0sPtaFd.net
おながいしまつ
URLリンク(ideone.com)

11:デフォルトの名無しさん
23/04/20 07:32:25.61 4QbBG9add.net
まだでつか?

12:デフォルトの名無しさん (アウアウウー Sa21-1cZQ)
23/04/22 05:13:45.40 ve/ll5uRa.net
ライフタイム付き再帰構造体を再帰関数で回してlifetimeのvarianceで苦しむまでがボローチェッカチュートリアルです

13:デフォルトの名無しさん
23/04/23 10:52:30.36 XxfCyR3vF.net
制約は安全性を高めるためなんだろうけど率直に言ってウザいからな
他人に書かせるならRustを選ぶかもしれんがw
自分で書くものにはRustは不要かな

14:デフォルトの名無しさん (アウウィフ FF21-1cZQ)
23/04/23 18:43:21.25 y593Lq73F.net
>>10
勉強になった
URLリンク(play.rust-lang.org)
URLリンク(gist.github.com)

15:デフォルトの名無しさん (アウウィフ FF21-YWDm)
23/04/28 10:49:45.13 pksuSfeeF.net
多目的トレイト

16:デフォルトの名無しさん (スププ Sdbf-Dpku)
23/05/02 14:47:07.64 03fZg/+od.net
おながいしまつ
URLリンク(pastebin.com)

17:デフォルトの名無しさん (ワッチョイ 9f79-zzYQ)
23/05/02 19:44:51.40 CHSyAGjU0.net
C++toRustトランスレーター作ろうとは思わないの

18:デフォルトの名無しさん (スププ Sdbf-Dpku)
23/05/04 14:29:32.75 lyoWn3h4d.net
ただのトランスパイラならbindgenで足りる
どうせunsafeだらけになるし
MFCみたいな糞wrapperになるのが目に見えてる
APIからRust化しないと意味無いのでは

19:デフォルトの名無しさん (オイコラミネオ MM6b-fitb)
23/05/05 00:00:57.72 tbrjl4OGM.net
何でも置き換えればいいのかな?
例えばtouchのような対象も小さく即終わるコマンドとかも書き換えたほうがいいのか?

20:デフォルトの名無しさん (オイコラミネオ MM6b-fitb)
23/05/05 00:02:42.59 tbrjl4OGM.net
書き替えたら歴史に名が残るので書き換えると言うレベルじゃないかと
それに気が付いて勝手にどんどん書き換えても正式に採用してもらえるのかは謎

21:デフォルトの名無しさん (ワッチョイ 1279-y4C+)
23/05/06 03:39:03.02 l5Xh2UOq0.net
それより自演失敗してますよ

22:デフォルトの名無しさん
23/05/08 11:49:41.64 PotcPEgCF.net
cc とか bindgen とか試したが
確かにそこそこ使えるが微妙に完成度は低いと感じた
指定するオプションが足りないだけなのか
c の source は比較的完成度高くて
cpp の source は色々残念な結果になるイメージ

23:デフォルトの名無しさん
23/05/08 12:56:13.49 imilCHLn0.net
Cはlinuxカーネルにも入るし真面目にやらんといかんけど、C++とはまだお遊びフェイズってことだろ。
C++erはまだまだRust馬鹿にしてるし。

24:デフォルトの名無しさん
23/05/08 15:04:33.73 NYRttg47d.net
結局Rust移行には無軌道な俺俺ラッパーライブラリに振り回される覚悟が要るしなぁ
あまり気が進まないのは理解できるでしょ

25:デフォルトの名無しさん
23/05/09 10:11:05.41 MyUREp4Fa.net
新規でRustは良いと思うけど
元々C/C++のプロジェクトをRustにわざわざ入れ替えるのは
unsafe使いまくりで生ポ回避しただけのRust風C/C++コードにしかならない
気に入らないからRustらしいRustコードに少しでも近付けようとすると
結局元のコードより読み難くなるので無駄な努力に感じる
既存のC/C++資産は仮に負の資産であっても下手に触らずそのまま使う方が吉
本気で入れ替えたいなら理想を言えばAPIから再設計した方が良い
ところがRustのためのRust純正Crateになると結局C/C++の人らは近付かなくなるな

26:デフォルトの名無しさん (アウウィフ FFc3-KIRb)
23/05/11 10:19:47.83 tfz6F7+EF.net
bindgen::Builder に対して
.generate_inline_functions(true)
を付けてやると
bindings.rs への変換で再現性はチョット上がったが
結局 link でエラー出るわ orz
cc で -fno-default-inline で link 出来るようだが効率悪そう
(inline だから当たり前だな)

27:デフォルトの名無しさん (ワッチョイ 335f-GJof)
23/05/15 02:39:55.46 s5edYhaR0.net
完全に思い付きで言うけどltoしてみれば?


最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

352日前に更新/7865 Bytes
担当:undef