公式
https://www.rust-lang.org/
https://blog.rust-lang.org/
https://github.com/rust-lang/rust
Web上の実行環境
https://play.rust-lang.org
※Rustを学びたい人はまず最初に公式のThe Bookを読むこと
https://doc.rust-lang.org/book/
※Rustを学ぶ際に犯しがちな12の過ち
https://dystroy.org/blog/how-not-to-learn-rust
※Rustのasyncについて知りたければ「async-book」は必読
https://rust-lang.github.io/async-book/
※次スレは原則>>980が立てること
前スレ
Rust part17
https://mevius.5ch.net/test/read.cgi/tech/1665063793/
探検
Rust part18
■ このスレッドは過去ログ倉庫に格納されています
2022/12/10(土) 18:17:02.61ID:XSNoXTPt
664デフォルトの名無しさん
2023/01/03(火) 23:11:21.73ID:Le3CBufs >>659
叩かれてるうちが華よ。
Haskellスレの↓が的を射ている。2023年、Rustでも見放しが起きるかもよ。
https://mevius.5ch.net/test/read.cgi/tech/1639713446/181
叩かれてるうちが華よ。
Haskellスレの↓が的を射ている。2023年、Rustでも見放しが起きるかもよ。
https://mevius.5ch.net/test/read.cgi/tech/1639713446/181
665デフォルトの名無しさん
2023/01/03(火) 23:18:33.15ID:jBK7hIQX >>663
Rustはそれ以上に変な文法だ。
Rustはそれ以上に変な文法だ。
666デフォルトの名無しさん
2023/01/03(火) 23:19:10.28ID:jBK7hIQX >>659
使いこなせないんじゃなくて、魅力を感じない。
使いこなせないんじゃなくて、魅力を感じない。
667デフォルトの名無しさん
2023/01/03(火) 23:19:50.78ID:mPQC6C/f 新着レスの表示を押したらgihyoアンチ出てきて笑ってしまった
668デフォルトの名無しさん
2023/01/03(火) 23:23:41.66ID:jBK7hIQX なお、Rustが欠陥言語なのはハッキリ分かってる。
669デフォルトの名無しさん
2023/01/03(火) 23:26:45.90ID:tE3kJFmJ https://mevius.5ch.net/test/read.cgi/tech/1639713446/181
になぞらえよう。
2022年、NSA(アメリカ国家安全保障局)公認メモリ安全言語にGoが入った時点で、
「Rustが自賛する」メモリ安全は「白けた話」になった。
Rustはもうどうでもいい。
になぞらえよう。
2022年、NSA(アメリカ国家安全保障局)公認メモリ安全言語にGoが入った時点で、
「Rustが自賛する」メモリ安全は「白けた話」になった。
Rustはもうどうでもいい。
670デフォルトの名無しさん
2023/01/03(火) 23:27:03.95ID:EF4+Zmp+ >>660
お前にとって技術評論社はギフハブか何かに見えてるのか?
お前にとって技術評論社はギフハブか何かに見えてるのか?
671デフォルトの名無しさん
2023/01/03(火) 23:48:42.74ID:jBK7hIQX 使いたいけど使えない人 = 能力不足。
使えるけど使いたくない人 = 個人の選択の自由。
俺は後者だから。
使えるけど使いたくない人 = 個人の選択の自由。
俺は後者だから。
672デフォルトの名無しさん
2023/01/04(水) 00:40:30.83ID:DBMM4FaV 技術評論社が自演ステマする言語はすべて潰れる。
673デフォルトの名無しさん
2023/01/04(水) 00:42:55.13ID:ZDKq+a5p 文字列のパスの正当性をチェックしてくれるクレートとかないんだろうか
いわゆる汚染チェックだがダメ文字が含まれている、記法が有効ではない等々
WindowsのAPIにそれっぽいのがないかと思ったけど見つけられんかった
GetFullPathNameはファイルのみでディレクトリ名は不可っぽいし
exist類を利用する方法も出てくるけどこれはファイルやディレクトリがある
ケースでしか使えない
いわゆる汚染チェックだがダメ文字が含まれている、記法が有効ではない等々
WindowsのAPIにそれっぽいのがないかと思ったけど見つけられんかった
GetFullPathNameはファイルのみでディレクトリ名は不可っぽいし
exist類を利用する方法も出てくるけどこれはファイルやディレクトリがある
ケースでしか使えない
674デフォルトの名無しさん
2023/01/04(水) 00:55:50.44ID:BfGbXrWm 2022年 はちみつ味の複製ポエムバレしてRustは白けた話になった
2023年 標準ライブラリ軽視からのクレート探しの自走力無き苦行
合計:白けた話+苦行=見放し
2023年 標準ライブラリ軽視からのクレート探しの自走力無き苦行
合計:白けた話+苦行=見放し
675デフォルトの名無しさん
2023/01/04(水) 01:06:23.83ID:U+qe0cea いままでC/C++の代わりになると云われた言語たちがどれだけ敗走したことか
そのRustの力とやら、見せてもらおうか!
そのRustの力とやら、見せてもらおうか!
676デフォルトの名無しさん
2023/01/04(水) 01:06:49.84ID:tdp90SFj >>657
ハイジェニックマクロはどうだい?
ハイジェニックマクロはどうだい?
677デフォルトの名無しさん
2023/01/04(水) 02:42:42.79ID:qTJ/GIFa Rust使わないことを選んだのなら、こんなとこで無駄な時間使ってないでC/CPPのスレで活躍したほうが良いのでは?
678デフォルトの名無しさん
2023/01/04(水) 03:10:48.22ID:U+qe0cea Rust「うあ~!汚コード増し増し負けたンゴ~!」
679デフォルトの名無しさん
2023/01/04(水) 09:03:32.34ID:oXSJ1jtE680デフォルトの名無しさん
2023/01/04(水) 09:34:24.21ID:lFNs7lW+681デフォルトの名無しさん
2023/01/04(水) 15:33:07.79ID:vtx89qb1 ま、ぶっちゃけ、RustよりSQL覚えた方が仕事はあると思うよ。
682デフォルトの名無しさん
2023/01/04(水) 15:42:42.57ID:ppyTErtg カーネルドライバのいくつかがRustで書かれ始めちゃってるので
いやでもぶち当たる日が来るので仕方なく勉強してます。
今のところはクソ言語と言い切れるほどのクソさにはぶつかってないかな
いやでもぶち当たる日が来るので仕方なく勉強してます。
今のところはクソ言語と言い切れるほどのクソさにはぶつかってないかな
683デフォルトの名無しさん
2023/01/04(水) 16:09:30.84ID:KNHhQhy0 基本的にクソだけど我慢出来ないほどではない
684デフォルトの名無しさん
2023/01/04(水) 18:43:18.99ID:I7h9hggJ >>659
叩かれてない言語は多くの人が使いこなしてるって意味だねw
叩かれてない言語は多くの人が使いこなしてるって意味だねw
685デフォルトの名無しさん
2023/01/04(水) 18:51:29.68ID:MrWX6jB2686デフォルトの名無しさん
2023/01/04(水) 19:22:28.35ID:EQzsTg8p オッサンだけど女の子に生まれて百合恋愛がしたいだけの人生だった、女の最大の特権って百合ができる事だよな
687デフォルトの名無しさん
2023/01/04(水) 19:56:07.97ID:lFNs7lW+688デフォルトの名無しさん
2023/01/04(水) 19:58:59.00ID:Ms6LgXDx 業務で使わされてるから
689デフォルトの名無しさん
2023/01/04(水) 20:25:18.15ID:5/zWl+ll >>687
悪い評価も言論の自由な社会では大事。
悪い評価も言論の自由な社会では大事。
690デフォルトの名無しさん
2023/01/04(水) 20:45:25.47ID:lFNs7lW+691デフォルトの名無しさん
2023/01/04(水) 20:48:18.41ID:5/zWl+ll >>690
正しい評価のつもりだ。
正しい評価のつもりだ。
692デフォルトの名無しさん
2023/01/04(水) 20:55:18.09ID:QxUfEWbZ 技術評論社のステマが最も有害。
693デフォルトの名無しさん
2023/01/04(水) 21:20:30.26ID:lFNs7lW+694デフォルトの名無しさん
2023/01/04(水) 21:23:31.68ID:QxUfEWbZ Rustには欠陥が無いようなことを言い出したぞコイツ。
695デフォルトの名無しさん
2023/01/04(水) 21:25:52.36ID:oUT+lvyR なんかまたErrorトレイトのメソッド変わってる……
見落としてたけど1.64からでしたか
見落としてたけど1.64からでしたか
696デフォルトの名無しさん
2023/01/04(水) 21:59:12.78ID:lFNs7lW+ >>694
なにが欠陥なのか指摘も出来ないクズ乙
なにが欠陥なのか指摘も出来ないクズ乙
697デフォルトの名無しさん
2023/01/04(水) 23:47:28.90ID:tw+8ew0C まあリーナスみたいに的確な指摘がちゃんと出来れば皆聞く耳を持つだろうにね
698デフォルトの名無しさん
2023/01/05(木) 01:09:00.20ID:DO2QGxg+699デフォルトの名無しさん
2023/01/05(木) 01:10:45.51ID:9rdfNmCZ それ以前に欠陥の具体例すら挙がってないが
700デフォルトの名無しさん
2023/01/05(木) 01:14:21.99ID:DO2QGxg+ >>699
このスレや前スレで何度も上がってる。
このスレや前スレで何度も上がってる。
701デフォルトの名無しさん
2023/01/05(木) 01:23:36.54ID:55d9gDO6 複数の実装を抽象化する想定のtraitにErrorなどというassociated typeを持たせて実装を分けてしまうと死ぬほど面倒だということを学んだ
702デフォルトの名無しさん
2023/01/05(木) 12:28:43.89ID:QUS/oJRF windows::~の使い方の情報が少なすぎ。String→PCWSTRの変換方法もよくわからないし
MessageBoxWに任意の文字列を表示することすら不安定
FFIでuser32のMessageBoxWを直接叩いたほうがマシ。こっちならさすがに安定するようだ
MessageBoxWに任意の文字列を表示することすら不安定
FFIでuser32のMessageBoxWを直接叩いたほうがマシ。こっちならさすがに安定するようだ
703デフォルトの名無しさん
2023/01/05(木) 13:45:51.93ID:W/FjpTuq 制限多いしリファクタリングしづらいわな
704デフォルトの名無しさん
2023/01/05(木) 17:20:24.40ID:YRkXkG+b 結果汚コードまみれのゴミになる
705デフォルトの名無しさん
2023/01/05(木) 17:33:14.38ID:Hd+KI7WM >>702
Rustの文字列はUTF-8でナル終端なしだからワイド文字だと
・UTF-8→UTF-16変換
・'\0'追加
の2段階の操作が必要
ナル終端だけならstd::ffi::CStringでいけるけど、ワイド文字(UTF-16)使うなら
内部でVec<u16>を保持する専用の文字列型を用意した方がよさそう
あとはwindows::core::PWCSTR::from_ptr()にVec::as_ptr()を渡してPWCSTRを作る
このPWCSTRが使われてる間はVecを消したり変更したりすると危ないけど
&PCWSTRで返す形にすればライフタイムで束縛できるかな
この辺の操作はwindows-rsでも直のFFIでも変わらないと思う
Rustの文字列はUTF-8でナル終端なしだからワイド文字だと
・UTF-8→UTF-16変換
・'\0'追加
の2段階の操作が必要
ナル終端だけならstd::ffi::CStringでいけるけど、ワイド文字(UTF-16)使うなら
内部でVec<u16>を保持する専用の文字列型を用意した方がよさそう
あとはwindows::core::PWCSTR::from_ptr()にVec::as_ptr()を渡してPWCSTRを作る
このPWCSTRが使われてる間はVecを消したり変更したりすると危ないけど
&PCWSTRで返す形にすればライフタイムで束縛できるかな
この辺の操作はwindows-rsでも直のFFIでも変わらないと思う
706デフォルトの名無しさん
2023/01/05(木) 18:06:32.68ID:QUS/oJRF >>705
そんな感じで実験してみたんだけど不定期にMessageBoxWが意図しない文字列を表示する
ボローチェッカーは何も言わないけど結果からすると明らかに信用ならない
FFI利用の直叩きなら問題ないさそうだしPWCSTR::from_ptr()以降が怪しそう
そんな感じで実験してみたんだけど不定期にMessageBoxWが意図しない文字列を表示する
ボローチェッカーは何も言わないけど結果からすると明らかに信用ならない
FFI利用の直叩きなら問題ないさそうだしPWCSTR::from_ptr()以降が怪しそう
707デフォルトの名無しさん
2023/01/05(木) 20:22:41.35ID:fYcl0Ze4 Carbonに期待
708デフォルトの名無しさん
2023/01/05(木) 21:53:29.87ID:qIx9AnNX 他の言語でも同じ問題抱えているのに
rustではこういう問題があるぞーって批判目的で書いてる人って何なんだろう
rustではこういう問題があるぞーって批判目的で書いてる人って何なんだろう
709デフォルトの名無しさん
2023/01/05(木) 22:15:07.43ID:QUS/oJRF というか
ttps://learn.microsoft.com/ja-jp/windows/dev-environment/rust/rss-reader-rust-for-windows
この記事って罠じゃね?winapi使うかFFI使うかしたほうが無難な気がする
ttps://learn.microsoft.com/ja-jp/windows/dev-environment/rust/rss-reader-rust-for-windows
この記事って罠じゃね?winapi使うかFFI使うかしたほうが無難な気がする
710デフォルトの名無しさん
2023/01/05(木) 22:32:24.42ID:W/FjpTuq レイヤー低いところをいじる場合はそのまま生で見えた方がデバッグがやりやすいってのはある。
まあ生で見えるから変なことも起こるんだが、この辺りはトレードオフの話だ。
まあ生で見えるから変なことも起こるんだが、この辺りはトレードオフの話だ。
711デフォルトの名無しさん
2023/01/05(木) 23:50:31.90ID:gC/ORVIb RustがCやC++の文法に似ているというのはウソだと思うね。
本当に似てると思うなら感性を疑う。
本当に似てると思うなら感性を疑う。
712デフォルトの名無しさん
2023/01/06(金) 00:27:00.08ID:YGAtDmlk 似てる
C++から黒魔術をほとんど排除したのがRust
C++から黒魔術をほとんど排除したのがRust
713はちみつ餃子 ◆8X2XSCHEME
2023/01/06(金) 00:30:58.61ID:HDVxNHRA 文法つっても BNF 的な意味での文法とセマンティクスまで含めた文法では意味合いが違うし、
「どういう意味で似ている」「どういう意味で似ていない」という基準を提示せずに感性で判断しようとするのなら感性を疑う。
「どういう意味で似ている」「どういう意味で似ていない」という基準を提示せずに感性で判断しようとするのなら感性を疑う。
714デフォルトの名無しさん
2023/01/06(金) 00:47:31.60ID:Pn7zd4wp715デフォルトの名無しさん
2023/01/06(金) 00:59:43.04ID:Bj/0zi83716デフォルトの名無しさん
2023/01/06(金) 01:00:07.18ID:sXnz8uH8 はちみつ餃子vsオイコラミネオスレ並行するのやめてもらっていいですか
717デフォルトの名無しさん
2023/01/06(金) 01:04:05.46ID:qbbs3BIz お前ら独自エラーはどうやって作ってる?
俺はenum使ってるんだけどこれ普通?
俺はenum使ってるんだけどこれ普通?
718デフォルトの名無しさん
2023/01/06(金) 01:25:12.21ID:AnNs2Aua ディレクトリのコピーってないのか・・・再帰処理の実装は特に面倒なのに
719デフォルトの名無しさん
2023/01/06(金) 01:33:35.60ID:Pn7zd4wp MSの際と出もRustをC++と似てると豪語しているが、信じられない。
720デフォルトの名無しさん
2023/01/06(金) 02:32:49.50ID:xvNP3xU8 RustとC++がそっくりってそれ中国語と英語がそっくりって言ってるようなもんだよ
721デフォルトの名無しさん
2023/01/06(金) 02:35:31.30ID:qbbs3BIz RustはテンプレートがC++よりスマートだよね
template<typename T>とか書かなくてもいいし
template<typename T>とか書かなくてもいいし
722デフォルトの名無しさん
2023/01/06(金) 02:57:32.46ID:BA4ANj8t723デフォルトの名無しさん
2023/01/06(金) 03:08:45.48ID:7s7EbfVR Rust, Go, Swiftの3言語登場の前後で、時代が変わった級の変化を感じてしまうが・・・・
有名言語で一番どれに近いって言われたら、文法は違うけどSwiftじゃないかな
有名言語で一番どれに近いって言われたら、文法は違うけどSwiftじゃないかな
724デフォルトの名無しさん
2023/01/06(金) 08:20:37.92ID:7YOuN382 ムーブとRAIIあたりはC++くらいしか似てるものがない気はする
他はそんなに似てないかな
他はそんなに似てないかな
725デフォルトの名無しさん
2023/01/06(金) 11:05:56.60ID:W6TcEBoi C++は似てる似てない以前にちゃんとした知識がないわ。
726デフォルトの名無しさん
2023/01/06(金) 11:09:49.68ID:oG71Qopd727デフォルトの名無しさん
2023/01/06(金) 11:11:24.59ID:oG71Qopd >>723
俺もメジャーな言語ならSwiftが一番近いと思う
俺もメジャーな言語ならSwiftが一番近いと思う
728デフォルトの名無しさん
2023/01/06(金) 11:25:37.00ID:3gqx/ngg Kotlin/Nativeもポインタ触れたりして結構似てるぞい
根幹をC++で作ってるから当たり前なんだけどもw
根幹をC++で作ってるから当たり前なんだけどもw
729デフォルトの名無しさん
2023/01/06(金) 11:26:31.04ID:3gqx/ngg Swiftと比べたらKotlin/Native とか下の中の下ではあるがw
730デフォルトの名無しさん
2023/01/06(金) 11:51:53.71ID:6RDP1hdo zigのcomptimeが他言語でもほしいです
731デフォルトの名無しさん
2023/01/06(金) 14:03:28.15ID:jehUaEn+ Rustは型チェッカが厳しすぎるからゴミ言語
732デフォルトの名無しさん
2023/01/06(金) 14:04:50.34ID:+8Hk5pSO 厳しすぎる??
733デフォルトの名無しさん
2023/01/06(金) 14:05:57.12ID:jehUaEn+ 普通にocamlとかのそこらの関数型言語よりはるかに厳しい
734デフォルトの名無しさん
2023/01/06(金) 14:36:09.35ID:s69F+oI7 たぶん型チェックではない気がするけどコンパイラのチェックが厳しいとゴミ言語になる理由がよく分からない
何となくで書けないのが不満なのかクラッシュバグを量産できないのが不満なのか
C言語でも-Wallとか-Werrorをつければ結構コンパイラうるさいよ
RustとCが近いと感じるのは脳内で同等のコードをイメージしやすいからかな
RustとC++はそんなに近いとは思わない(被ってる部分もあるけど別方向に派生したC言語という感じ)
何となくで書けないのが不満なのかクラッシュバグを量産できないのが不満なのか
C言語でも-Wallとか-Werrorをつければ結構コンパイラうるさいよ
RustとCが近いと感じるのは脳内で同等のコードをイメージしやすいからかな
RustとC++はそんなに近いとは思わない(被ってる部分もあるけど別方向に派生したC言語という感じ)
735デフォルトの名無しさん
2023/01/06(金) 14:40:01.34ID:rO9XvLaF >>733
具体的には?OCamlではどうでRustではどうって例ある?
具体的には?OCamlではどうでRustではどうって例ある?
736デフォルトの名無しさん
2023/01/06(金) 14:48:19.40ID:17lyPwSx737デフォルトの名無しさん
2023/01/06(金) 14:50:54.43ID:jehUaEn+738デフォルトの名無しさん
2023/01/06(金) 14:52:43.20ID:jehUaEn+739デフォルトの名無しさん
2023/01/06(金) 14:56:59.14ID:WgqbE23F740デフォルトの名無しさん
2023/01/06(金) 15:15:47.67ID:pLqfOblc 毎日似たようなやつ出てくるな
741デフォルトの名無しさん
2023/01/06(金) 15:30:04.53ID:eVJa6RQn742デフォルトの名無しさん
2023/01/06(金) 15:32:03.05ID:Kzld2VSs743デフォルトの名無しさん
2023/01/06(金) 15:40:58.01ID:rO9XvLaF >>738
> 後はRustとは違って型推論をさせるコツというのが少ない
(´・∀・`)ヘー
でも少ないどころかOCamlに
「型推論をさせるコツ」なんてもんがそもそもあっただろうか…
型チェッカがどうこうは実は今もよくわからんけど
型の推論はRustのほうが数段ショボい感じ
「型推論をさせるコツ」とかいう話も大変Rustっぽい
> 後はRustとは違って型推論をさせるコツというのが少ない
(´・∀・`)ヘー
でも少ないどころかOCamlに
「型推論をさせるコツ」なんてもんがそもそもあっただろうか…
型チェッカがどうこうは実は今もよくわからんけど
型の推論はRustのほうが数段ショボい感じ
「型推論をさせるコツ」とかいう話も大変Rustっぽい
744デフォルトの名無しさん
2023/01/06(金) 15:54:57.11ID:17lyPwSx 「Rustを勉強したい」「WasmをRustで決まり」みたいな話ばかりで
実際に作ってる人がほぼ居ないのがRust。
実際に作ってる人がほぼ居ないのがRust。
745デフォルトの名無しさん
2023/01/06(金) 16:18:23.51ID:ka2uAVZR rust も ocaml も型推論はHindley Milnerベースだろ。
rustで厳しいのはボローチェックやライフタイムのせいじゃないの?
それらも型に含める?広義では含むか、でも狭義にはちょと違うような。
rustで厳しいのはボローチェックやライフタイムのせいじゃないの?
それらも型に含める?広義では含むか、でも狭義にはちょと違うような。
746デフォルトの名無しさん
2023/01/06(金) 16:52:55.39ID:1HBuA6S6 ボローチェックやライフタイムをそこまで低レイヤー向けじゃない言語に入れてみた方が需要あるんじゃないかね。
747デフォルトの名無しさん
2023/01/06(金) 17:37:26.05ID:sXnz8uH8 低レイヤー向けじゃないならGC使えばいいんだからライフタイムチェックなんてする意味無くね
748デフォルトの名無しさん
2023/01/06(金) 17:45:15.81ID:bmHmWdW4 意図しない変数書き換えはGCで防げないと思う
749デフォルトの名無しさん
2023/01/06(金) 18:18:03.78ID:4UTCkTyw750デフォルトの名無しさん
2023/01/06(金) 18:31:21.73ID:fURAHMja751デフォルトの名無しさん
2023/01/06(金) 18:52:06.69ID:/TzNSUVA プロファイラーの皆さん鑑定お願いします
Cyclonベースのセマンティクスでホラ吹いてた複オジ
https://mevius.5ch.net/test/read.cgi/tech/1663409149/352
https://mevius.5ch.net/test/read.cgi/tech/1670663822/713
イキ〇トリップオジ
https://i.imgur.com/c9uHodQ.png
https://mevius.5ch.net/test/read.cgi/tech/1672635305/17
Cyclonベースのセマンティクスでホラ吹いてた複オジ
https://mevius.5ch.net/test/read.cgi/tech/1663409149/352
https://mevius.5ch.net/test/read.cgi/tech/1670663822/713
イキ〇トリップオジ
https://i.imgur.com/c9uHodQ.png
https://mevius.5ch.net/test/read.cgi/tech/1672635305/17
752デフォルトの名無しさん
2023/01/06(金) 18:52:10.12ID:BFPx2dVd しかし、Rustが流行ってよかったよ。
ScalaやHaskellみたいなモナモナした言語が未来って言われても全然ピンとこなかったからな。
ScalaやHaskellみたいなモナモナした言語が未来って言われても全然ピンとこなかったからな。
753デフォルトの名無しさん
2023/01/06(金) 19:08:18.00ID:t6RUMnc7754デフォルトの名無しさん
2023/01/06(金) 20:49:12.83ID:AnNs2Aua くそーCreateProcessWがGetLastError=87で動かねぇ・・・
昔も苦労させられた記憶があるし結構鬼門なんだよなー
昔も苦労させられた記憶があるし結構鬼門なんだよなー
755デフォルトの名無しさん
2023/01/06(金) 21:03:28.10ID:s69F+oI7756デフォルトの名無しさん
2023/01/06(金) 21:18:35.59ID:AnNs2Aua757デフォルトの名無しさん
2023/01/06(金) 21:37:34.65ID:11CvjFzC758デフォルトの名無しさん
2023/01/06(金) 21:46:50.80ID:+u5r9Ozg Web系はフロントはTypeScript/JavaScript、サーバーサイドはGoしか有り得ない
759デフォルトの名無しさん
2023/01/06(金) 22:09:16.12ID:AnNs2Aua #[link(name = "kernel32")]
extern "stdcall" {
fn CreateProcessW (
lpApplicationName: *mut u16,
lpCommandLine: u64,
lpProcessAttributes: u64,
lpThreadAttributes: u64,
bInheritHandles: u32,
dwCreationFlags: u32,
lpCurrentDirectory: u64,
lpStartupInfo: *const u8,
lpProcessInformation: *mut u8
) -> u32;
}
fn main() {
let mut cl:[u16; 5] = [0x63, 0x61, 0x6c, 0x63, 0x00]; // "calc\0"
let mut si:[u8; 104] = [0; 104];
si[0] = 104;
let mut pi:[u8; 24] = [0; 24];
let mut ret;
unsafe {ret = CreateProcessW (cl.as_mut_ptr(), 0, 0, 0, 0, 0, 0, si.as_ptr(), pi.as_mut_ptr());}
}
>error: process didn't exit successfully: `target\debug\test03.exe` (exit code: 0xc0000005, STATUS_ACCESS_VIOLATION)
ここまで単純化しても動かねぇ・・・というかsiとpiの正しいサイズがわからない
extern "stdcall" {
fn CreateProcessW (
lpApplicationName: *mut u16,
lpCommandLine: u64,
lpProcessAttributes: u64,
lpThreadAttributes: u64,
bInheritHandles: u32,
dwCreationFlags: u32,
lpCurrentDirectory: u64,
lpStartupInfo: *const u8,
lpProcessInformation: *mut u8
) -> u32;
}
fn main() {
let mut cl:[u16; 5] = [0x63, 0x61, 0x6c, 0x63, 0x00]; // "calc\0"
let mut si:[u8; 104] = [0; 104];
si[0] = 104;
let mut pi:[u8; 24] = [0; 24];
let mut ret;
unsafe {ret = CreateProcessW (cl.as_mut_ptr(), 0, 0, 0, 0, 0, 0, si.as_ptr(), pi.as_mut_ptr());}
}
>error: process didn't exit successfully: `target\debug\test03.exe` (exit code: 0xc0000005, STATUS_ACCESS_VIOLATION)
ここまで単純化しても動かねぇ・・・というかsiとpiの正しいサイズがわからない
760デフォルトの名無しさん
2023/01/06(金) 23:17:27.61ID:AnNs2Aua よーくみたら引数が1個足りなかったw コピペ時にガバったか
761デフォルトの名無しさん
2023/01/06(金) 23:35:04.42ID:aB3JGFOO The Book 10.1に掲載されていたlargest関数を、
参照でかけたりしないのかなと思い試しているのですがうまくいきません。。
どうやって書いたらよいのでしょう?
fn largest<T: PartialOrd + Copy>(list: &[T]) -> &T {
let mut res: &T = &list[0];
for &elem in list.iter() {
if elem > *res {
res = &elem;
}
}
res
}
参照でかけたりしないのかなと思い試しているのですがうまくいきません。。
どうやって書いたらよいのでしょう?
fn largest<T: PartialOrd + Copy>(list: &[T]) -> &T {
let mut res: &T = &list[0];
for &elem in list.iter() {
if elem > *res {
res = &elem;
}
}
res
}
762デフォルトの名無しさん
2023/01/06(金) 23:37:50.69ID:AnNs2Aua 今度はWaitForSingleObjectで止まらない。というか
ttps://learn.microsoft.com/ja-jp/windows/win32/procthread/creating-processes
これをコピペしてコンパイルして電卓を起動させても止まらない。どうなっているのw
って思ったらcalc.exeはラッパーで即終了していたというオチ。MSはロクなことしないな
ttps://learn.microsoft.com/ja-jp/windows/win32/procthread/creating-processes
これをコピペしてコンパイルして電卓を起動させても止まらない。どうなっているのw
って思ったらcalc.exeはラッパーで即終了していたというオチ。MSはロクなことしないな
763デフォルトの名無しさん
2023/01/06(金) 23:51:15.52ID:sXnz8uH8■ このスレッドは過去ログ倉庫に格納されています
