!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
探検
C/C++のソースをRustへ全力で置き換えるスレ
1デフォルトの名無しさん (アウアウウー Saef-/q5i)
2023/04/18(火) 09:32:38.92ID:sxhvE7iUa2デフォルトの名無しさん (アウアウウー Sacb-/q5i)
2023/04/18(火) 09:37:22.98ID: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/
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/
3デフォルトの名無しさん (アウアウウー Sacb-/q5i)
2023/04/18(火) 09:48:41.62ID:sxhvE7iUa4デフォルトの名無しさん (アウアウウー Sacb-/q5i)
2023/04/18(火) 10:50:11.14ID:sxhvE7iUa 本家
https://play.rust-lang.org/
(メモ) >>3-4 で挙げたうちの
play.rust-lang.org と wandbox.org では使っていない import で warning 出る
どちらも default が #[warn(unused_imports)]
不要な use を消すか #![allow(unused)] を入れる等適当に
https://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:48.56ID:sxhvE7iUa 興味がある人はブラウザでどうなるか試してみよう
safeでもメモリはぶっ壊せる
https://speakerdeck.com/moratorium08/rustfalseunsound-hole-issue-number-25860woli-jie-suru
safeでもメモリはぶっ壊せる
https://speakerdeck.com/moratorium08/rustfalseunsound-hole-issue-number-25860woli-jie-suru
6デフォルトの名無しさん (ワッチョイ a75f-iKPJ)
2023/04/18(火) 12:25:27.86ID:NALS/zAj0 ワッチョイ付きじゃ例の人は来ないから隔離スレとして機能しないぞ
7デフォルトの名無しさん (スフッ Sd7f-l2LK)
2023/04/18(火) 13:42:02.96ID:7GOdztOAd おながいしまつ
https://ideone.com/L9TZlR
https://ideone.com/L9TZlR
8デフォルトの名無しさん (アウアウウー Sacb-Naft)
2023/04/18(火) 15:42:16.79ID:sxhvE7iUa9デフォルトの名無しさん (アウアウウー Sacb-/q5i)
2023/04/19(水) 01:42:14.55ID:rDAf/S/Pa もうちょっとスッキリ
https://play.rust-lang.org/?version=stable&mode=release&edition=2021&gist=c4e09ff30cf2769ee28c5e0cfa2e2e1e
dependencies 描かなくて良い play.rust-lang.org ありがたや
https://play.rust-lang.org/?version=stable&mode=release&edition=2021&gist=c4e09ff30cf2769ee28c5e0cfa2e2e1e
dependencies 描かなくて良い play.rust-lang.org ありがたや
10デフォルトの名無しさん (スププ Sd7f-l2LK)
2023/04/19(水) 03:35:41.37ID:5n0sPtaFd おながいしまつ
https://ideone.com/iPWHR0
https://ideone.com/iPWHR0
11デフォルトの名無しさん (スフッ Sd7f-l2LK)
2023/04/20(木) 07:32:25.61ID:4QbBG9add まだでつか?
12デフォルトの名無しさん (アウアウウー Sa21-1cZQ)
2023/04/22(土) 05:13:45.40ID:ve/ll5uRa ライフタイム付き再帰構造体を再帰関数で回してlifetimeのvarianceで苦しむまでがボローチェッカチュートリアルです
13デフォルトの名無しさん (アウウィフ FF21-1cZQ)
2023/04/23(日) 10:52:30.36ID:XxfCyR3vF 制約は安全性を高めるためなんだろうけど率直に言ってウザいからな
他人に書かせるならRustを選ぶかもしれんがw
自分で書くものにはRustは不要かな
他人に書かせるならRustを選ぶかもしれんがw
自分で書くものにはRustは不要かな
14デフォルトの名無しさん (アウウィフ FF21-1cZQ)
2023/04/23(日) 18:43:21.25ID:y593Lq73F15デフォルトの名無しさん (アウウィフ FF21-YWDm)
2023/04/28(金) 10:49:45.13ID:pksuSfeeF 多目的トレイト
16デフォルトの名無しさん (スププ Sdbf-Dpku)
2023/05/02(火) 14:47:07.64ID:03fZg/+od おながいしまつ
https://pastebin.com/k1WxrDhN
https://pastebin.com/k1WxrDhN
17デフォルトの名無しさん (ワッチョイ 9f79-zzYQ)
2023/05/02(火) 19:44:51.40ID:CHSyAGjU0 C++toRustトランスレーター作ろうとは思わないの
18デフォルトの名無しさん (スププ Sdbf-Dpku)
2023/05/04(木) 14:29:32.75ID:lyoWn3h4d ただのトランスパイラならbindgenで足りる
どうせunsafeだらけになるし
MFCみたいな糞wrapperになるのが目に見えてる
APIからRust化しないと意味無いのでは
どうせunsafeだらけになるし
MFCみたいな糞wrapperになるのが目に見えてる
APIからRust化しないと意味無いのでは
19デフォルトの名無しさん (オイコラミネオ MM6b-fitb)
2023/05/05(金) 00:00:57.72ID:tbrjl4OGM 何でも置き換えればいいのかな?
例えばtouchのような対象も小さく即終わるコマンドとかも書き換えたほうがいいのか?
例えばtouchのような対象も小さく即終わるコマンドとかも書き換えたほうがいいのか?
20デフォルトの名無しさん (オイコラミネオ MM6b-fitb)
2023/05/05(金) 00:02:42.59ID:tbrjl4OGM 書き替えたら歴史に名が残るので書き換えると言うレベルじゃないかと
それに気が付いて勝手にどんどん書き換えても正式に採用してもらえるのかは謎
それに気が付いて勝手にどんどん書き換えても正式に採用してもらえるのかは謎
21デフォルトの名無しさん (ワッチョイ 1279-y4C+)
2023/05/06(土) 03:39:03.02ID:l5Xh2UOq0 それより自演失敗してますよ
22デフォルトの名無しさん (ワイーワ2 FF6a-ouLR)
2023/05/08(月) 11:49:41.64ID:PotcPEgCF cc とか bindgen とか試したが
確かにそこそこ使えるが微妙に完成度は低いと感じた
指定するオプションが足りないだけなのか
c の source は比較的完成度高くて
cpp の source は色々残念な結果になるイメージ
確かにそこそこ使えるが微妙に完成度は低いと感じた
指定するオプションが足りないだけなのか
c の source は比較的完成度高くて
cpp の source は色々残念な結果になるイメージ
23デフォルトの名無しさん (ワッチョイ 169b-/J4k)
2023/05/08(月) 12:56:13.49ID:imilCHLn0 Cはlinuxカーネルにも入るし真面目にやらんといかんけど、C++とはまだお遊びフェイズってことだろ。
C++erはまだまだRust馬鹿にしてるし。
C++erはまだまだRust馬鹿にしてるし。
24デフォルトの名無しさん (スプッッ Sd52-8wHc)
2023/05/08(月) 15:04:33.73ID:NYRttg47d 結局Rust移行には無軌道な俺俺ラッパーライブラリに振り回される覚悟が要るしなぁ
あまり気が進まないのは理解できるでしょ
あまり気が進まないのは理解できるでしょ
25デフォルトの名無しさん (アウアウウー Sac3-ouLR)
2023/05/09(火) 10:11:05.41ID:MyUREp4Fa 新規でRustは良いと思うけど
元々C/C++のプロジェクトをRustにわざわざ入れ替えるのは
unsafe使いまくりで生ポ回避しただけのRust風C/C++コードにしかならない
気に入らないからRustらしいRustコードに少しでも近付けようとすると
結局元のコードより読み難くなるので無駄な努力に感じる
既存のC/C++資産は仮に負の資産であっても下手に触らずそのまま使う方が吉
本気で入れ替えたいなら理想を言えばAPIから再設計した方が良い
ところがRustのためのRust純正Crateになると結局C/C++の人らは近付かなくなるな
元々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:47.83ID:tfz6F7+EF bindgen::Builder に対して
.generate_inline_functions(true)
を付けてやると
bindings.rs への変換で再現性はチョット上がったが
結局 link でエラー出るわ orz
cc で -fno-default-inline で link 出来るようだが効率悪そう
(inline だから当たり前だな)
.generate_inline_functions(true)
を付けてやると
bindings.rs への変換で再現性はチョット上がったが
結局 link でエラー出るわ orz
cc で -fno-default-inline で link 出来るようだが効率悪そう
(inline だから当たり前だな)
27デフォルトの名無しさん (ワッチョイ 335f-GJof)
2023/05/15(月) 02:39:55.46ID:s5edYhaR0 完全に思い付きで言うけどltoしてみれば?
28デフォルトの名無しさん (アウアウウー Sacd-MrxJ)
2024/03/27(水) 10:07:59.15ID:afJGV/5Aa 結局のところ
Box::new(hoge) じゃなくて
Arc::pin(hoge) ってことだよな
Box::new(hoge) じゃなくて
Arc::pin(hoge) ってことだよな
29デフォルトの名無しさん (アウアウウー Sacd-MrxJ)
2024/03/27(水) 10:09:11.07ID:afJGV/5Aa >>22
C++とRustの相性は最悪
C++とRustの相性は最悪
30デフォルトの名無しさん (ワッチョイ 8228-vSrI)
2024/03/28(木) 00:09:26.54ID:61/ABBlz0 無駄な努力だな。。
移行できるレベルで所有権がはっきりしてるコードならそのままのコードで十分運用できるだろ。
移行できるレベルで所有権がはっきりしてるコードならそのままのコードで十分運用できるだろ。
31デフォルトの名無しさん (ワッチョイ 6107-Re1+)
2024/03/28(木) 15:38:46.41ID:160/Pdit0 発注元が言語指定してくるから
政府の勧告に基づき、今後の置き換え案件はC/C++は排除するって言ってきたりするようになるんだろう
C++はともかく、Cはトランスレータができるだろうから
そして、トランスレータの知見から、safe C/C++が育っていくだろう
政府の勧告に基づき、今後の置き換え案件はC/C++は排除するって言ってきたりするようになるんだろう
C++はともかく、Cはトランスレータができるだろうから
そして、トランスレータの知見から、safe C/C++が育っていくだろう
32デフォルトの名無しさん (オッペケ Sr79-M0x+)
2024/03/28(木) 17:04:34.56ID:25qMudWUr 美味しい仕事じゃね
ミシュラだのもついでに窓からポイ
ミシュラだのもついでに窓からポイ
33デフォルトの名無しさん (オッペケ Sr79-M0x+)
2024/03/28(木) 17:05:32.14ID:25qMudWUr return は一箇所にしろ~
省略出来るぞガハハ
省略出来るぞガハハ
34デフォルトの名無しさん (ワッチョイ b25f-lBRV)
2024/04/08(月) 19:14:28.45ID:tTCpytrL0 rustでlongjumpってどうやんの?
35デフォルトの名無しさん (オッペケ Sr5f-zzFp)
2024/04/08(月) 21:06:20.57ID:6B+IO5Hjr libcにないのかい
36デフォルトの名無しさん (アウアウウー Sabb-IS2W)
2024/04/09(火) 11:30:43.03ID:kb2+15Kqa 毎日一日一回必ず遅くなる
cargo build
cargo test
糞仕様ω
cargo build
cargo test
糞仕様ω
37デフォルトの名無しさん (スププ Sd02-aQbW)
2024/04/09(火) 11:53:29.89ID:KoSn7rCkd 数万行にも及ぶC/C++をRustに書き換えるのは狂気の沙汰
38デフォルトの名無しさん (ワッチョイ 7f07-OINQ)
2024/04/09(火) 16:27:34.77ID:ubWOnQ1+0 手で直してエンバグしてたら、C/C++ free にする意味がなくなる
自動変換ソリューション一択、実用化待ちだと思う
それが定着したら、最初から「そういう風に」C/C++を書くのも定着してくると思う
自動変換ソリューション一択、実用化待ちだと思う
それが定着したら、最初から「そういう風に」C/C++を書くのも定着してくると思う
39デフォルトの名無しさん (アウアウウー Sa83-TxeL)
2024/04/21(日) 15:50:31.20ID:aDRU4soda Rust リファクタリングしてるときに
trait 境界が変わって
あれ?ってなることが多いな
trait 境界が変わって
あれ?ってなることが多いな
40デフォルトの名無しさん (アウアウエー Sa4a-WcQO)
2025/03/23(日) 07:56:32.96ID:jrseZUS+a let bits = vec![false; 32];
これでbitsのサイズが4バイトになってくれるような仕組みはRustにありますか?
これでbitsのサイズが4バイトになってくれるような仕組みはRustにありますか?
レスを投稿する
ニュース
- 習政権、高市首相への態度硬化 台湾有事発言で連日非難 中国 ★11 [ぐれ★]
- 国内ホテル、既にキャンセルも 訪日客関連業界、事態見守る ★3 [蚤の市★]
- 日本損失1.7兆円に修正 中国渡航自粛の影響試算 [蚤の市★]
- 「どうしようもない」 ため息つくアジアの玄関口 中国の訪日自粛で−福岡市 [蚤の市★]
- 食品の高騰対策、政府が交付金の「特別枠」検討 原則全ての自治体で [蚤の市★]
- 「アベノミクス」で投資対象と化したマンション ローンの低金利続き「年収の12倍」借りる20代出現 [蚤の市★]
- 【超絶悲報】日本政府「高市さんの答弁撤回はない。政権として弱腰と映る姿勢は見せられない」これもう立憲岡田の議員辞職しかないだろ [519511584]
- 台湾「高市さんが台湾人の悲願を叶えてくれた!」これじゃ高市さん発言撤回できないぢゃん😰 [523957489]
- 【実況】博衣こよりのえちえち朝こよ🧪
- 高市周辺、さすがに焦り始めるww「小さな火種が火事になりかけている。早く鎮火しなくてはいけない」 [271912485]
- 【超悲報】中国への武力行使、世論調査で「賛成」「どちらかといえば賛成」48.8% 「反対」「どちらかといえば反対」の44.2%を上回る [314039747]
- 中国「高市が頭を下げて謝罪しない限り、絶対に許さない」 [329329848]
