[過去ログ]
ふらっと C#,C♯,C#(初心者用) Part154 (1002レス)
ふらっと C#,C♯,C#(初心者用) Part154 http://mevius.5ch.net/test/read.cgi/tech/1644416019/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
267: デフォルトの名無しさん (ワッチョイ 51d2-3X4l) [sage] 2022/03/22(火) 08:35:18.57 ID:OaCGWLhd0 win32リソースかどうかなんか用途ですぐわかるだろ… http://mevius.5ch.net/test/read.cgi/tech/1644416019/267
268: デフォルトの名無しさん (ワッチョイ 8bbb-216p) [sage] 2022/03/22(火) 08:39:28.18 ID:kAgwAO/L0 書いてから気づいた>>263の方法で確認すりゃまだ楽か だがしかし、実装を強制できないからdisposeしてなくても気づけないってのがな http://mevius.5ch.net/test/read.cgi/tech/1644416019/268
269: デフォルトの名無しさん (ワッチョイ 8bbb-216p) [sage] 2022/03/22(火) 08:41:02.24 ID:kAgwAO/L0 >>267 そんなの場合による http://mevius.5ch.net/test/read.cgi/tech/1644416019/269
270: デフォルトの名無しさん (ワッチョイ 51d2-3X4l) [sage] 2022/03/22(火) 08:51:45.38 ID:OaCGWLhd0 キミのように脳に欠陥があるなら仕方がない。使い終わったら常にdispose()呼ぶだけの話。 http://mevius.5ch.net/test/read.cgi/tech/1644416019/270
271: デフォルトの名無しさん (ワッチョイ 8bbb-216p) [sage] 2022/03/22(火) 09:03:08.94 ID:kAgwAO/L0 >>270 草 http://mevius.5ch.net/test/read.cgi/tech/1644416019/271
272: デフォルトの名無しさん (ワッチョイ 51d2-3X4l) [sage] 2022/03/22(火) 09:22:16.11 ID:OaCGWLhd0 ( ´_ゝ`)プッ http://mevius.5ch.net/test/read.cgi/tech/1644416019/272
273: デフォルトの名無しさん (ワッチョイ 8bbb-216p) [sage] 2022/03/22(火) 10:11:19.03 ID:kAgwAO/L0 使い終わったら常にdispose()呼ぶだけ!キリッ 話の本質わかってなくて草生える http://mevius.5ch.net/test/read.cgi/tech/1644416019/273
274: デフォルトの名無しさん (ワッチョイ 132c-P46e) [sage] 2022/03/22(火) 10:34:09.76 ID:G7lfoYcY0 Disposeでマネージ/アンマネージってことは protected virtual Dispose(bool disposing) のdisposingの真偽で何を解放すべきかってことだよね .NETのオブジェクトとして存在しているモノがマネージリソース 大体は自分がメンバに持ってるIDisposableなオブジェクトを意味する これらはdisposing==trueのときだけDisposeすればいい アンマネージリソースはWindowsのAPIとかで直接確保したデバイスコンテキストとかメモリ 大抵はIntPtr型で保持している こういうのはそれぞれのリソースの解放方法に従った方法で直接解放する これらはdisposingに関わらず常に解放する http://mevius.5ch.net/test/read.cgi/tech/1644416019/274
275: デフォルトの名無しさん (ワッチョイ 51d2-3X4l) [sage] 2022/03/22(火) 10:35:59.07 ID:OaCGWLhd0 > いちいち継承元全部辿ってIDisposableあるか確認して手動で開放しないとリークしまーすとかいう欠陥言語 分かってるよ。話の本質は、馬鹿がヘジが開発した言語にマウンティングした、ということだろう。 だがその試みは失敗した。それだけ。 なんならwin32リソースについて言語はどう管理すべきいくらでもキミの意見を語っていいんだぜ? だがキミからは何も出てこない。知ったか初心者だからだ。 http://mevius.5ch.net/test/read.cgi/tech/1644416019/275
276: デフォルトの名無しさん (ブーイモ MMeb-n2Eo) [sage] 2022/03/22(火) 11:53:43.00 ID:myN/pITuM そうカッカすんなよおっさん見苦しいぞ http://mevius.5ch.net/test/read.cgi/tech/1644416019/276
277: デフォルトの名無しさん (ワッチョイ 8bbb-216p) [sage] 2022/03/22(火) 12:15:11.68 ID:kAgwAO/L0 >>275 顔真っ赤で草 http://mevius.5ch.net/test/read.cgi/tech/1644416019/277
278: デフォルトの名無しさん (ワッチョイ 51d2-3X4l) [sage] 2022/03/22(火) 12:31:50.91 ID:OaCGWLhd0 初歩的なリソース管理程度で発狂して言語貶してるド初心者に 馬鹿にされてキレるわけないだろう。馬鹿かこいつ、としか思わん。 http://mevius.5ch.net/test/read.cgi/tech/1644416019/278
279: デフォルトの名無しさん (ワッチョイ 8b63-whB1) [sage] 2022/03/22(火) 15:52:49.70 ID:XhX0v2Lu0 その調子で血管切って死なねーかな http://mevius.5ch.net/test/read.cgi/tech/1644416019/279
280: デフォルトの名無しさん (テテンテンテン MMeb-zKmY) [sage] 2022/03/22(火) 17:16:17.21 ID:pk95uqSaM あああああああああああああああああああああああああああああああ!!!!!!!!!!!(ブリブリブリブリュリュリュリュリュリュ!!!!!!ブツチチブブブチチチチブリリイリブブブブゥゥゥゥッッッ!!!!!!!) http://mevius.5ch.net/test/read.cgi/tech/1644416019/280
281: デフォルトの名無しさん (ワッチョイ 2979-zSlE) [sage] 2022/03/22(火) 19:17:57.13 ID:kPYOUkgu0 そもそもc#のデストラクタが産廃だからあてにしてる動作だろ http://mevius.5ch.net/test/read.cgi/tech/1644416019/281
282: デフォルトの名無しさん (スップ Sd73-2DeC) [sage] 2022/03/22(火) 19:49:04.13 ID:1zUmccnld GC(マークアンドスイープ)+FinalizeとDisposeの相性が悪いだけだろ C#に限った話じゃない http://mevius.5ch.net/test/read.cgi/tech/1644416019/282
283: デフォルトの名無しさん (ワッチョイ 4901-cTkz) [sage] 2022/03/22(火) 20:58:45.96 ID:hNvbiY4S0 exe終了したら何もかも解放されるんでしょ? http://mevius.5ch.net/test/read.cgi/tech/1644416019/283
284: デフォルトの名無しさん (アウアウウー Sa5d-580B) [sage] 2022/03/22(火) 21:05:08.48 ID:HvRJN3MAa 基本的には終了で開放だけど、すべてが開放されるとは限らない よくあるのがexe内部でexcel使ったら、exe終了してもexcelのプロセス残ったままみたいなやつ http://mevius.5ch.net/test/read.cgi/tech/1644416019/284
285: デフォルトの名無しさん (ワッチョイ 8bbb-216p) [sage] 2022/03/22(火) 21:09:25.23 ID:kAgwAO/L0 ようやく>>282みたいなまともな回答出てきて嬉しい スコープ外れたタイミングでデストラクタ呼び出し保証しなかった理由ってどこかに解説とかないのかな? C#の現状のデストラクタとかガチゴミじゃん http://mevius.5ch.net/test/read.cgi/tech/1644416019/285
286: デフォルトの名無しさん (テテンテンテン MMeb-NT4g) [sage] 2022/03/22(火) 21:19:04.18 ID:Ky9cYioTM またいつもの質問者そっちのけでの罵倒合戦かよ・・・・・ アンマネージドリソースは文字通りC#の管理下にない(un-managedな)リソース 具体的にはunsafeで確保した配列・ポインタやWin32APIを呼び出して確保したIntPtrなど Disposeのタイミングで適切な手法で(それこそWin32APIを呼ぶなどして)リソース解放しないとメモリリークする マネージドリソースはC#の管理下にあるリソース全般 FileStreamやDbConnection、Bitmapオブジェクトなどもこれ そういうオブジェクトをクラス内のメンバ変数で持ってるなら、Disposeメソッド内で それらのメンバ変数のDispose()を呼ぶことでリソース解放するお約束になってる >>263の説明はデタラメもいいとこだしそもそも「IDispose」ってなんだよ >>263のデタラメに気付かずC#を欠陥言語呼ばわりするために乗っかった>>266の言ってることも同じくデタラメなんだけど こいつは罵倒マウンティングすること自体が目的でわざとデタラメに乗ってるのかそれとも素で理解してないのかは分からん http://mevius.5ch.net/test/read.cgi/tech/1644416019/286
287: デフォルトの名無しさん (ワッチョイ 8bcf-noGs) [sage] 2022/03/22(火) 21:23:17.10 ID:0A7XAa2y0 C++/CLIならデストラクタが使えるから問題ないんだよな。捨てたのはもったいない。 http://mevius.5ch.net/test/read.cgi/tech/1644416019/287
288: デフォルトの名無しさん (ワッチョイ 8bbb-216p) [sage] 2022/03/22(火) 21:31:04.74 ID:kAgwAO/L0 それな GCとかの仕組み上どうしても無理でしたってんなら納得逝くんだけどその辺知りたい http://mevius.5ch.net/test/read.cgi/tech/1644416019/288
289: デフォルトの名無しさん (スップ Sd73-foG8) [sage] 2022/03/22(火) 21:39:13.30 ID:6LsnJNlYd >>285 スコープ外れたってどうやって判断するの? http://mevius.5ch.net/test/read.cgi/tech/1644416019/289
290: デフォルトの名無しさん (ワッチョイ f9ac-MdQT) [sage] 2022/03/22(火) 21:39:56.93 ID:3weeWjHs0 というかここら辺はサンプルというか、実際使ってるコードみないとピンとこんよな これは意味あるIdisposable、こっちは意味ないとかで http://mevius.5ch.net/test/read.cgi/tech/1644416019/290
291: デフォルトの名無しさん (スップ Sd73-2DeC) [sage] 2022/03/22(火) 21:41:21.16 ID:1zUmccnld >>287 ref class C{ ~C(){} // Destructor !C(){} // Finalizer }; のコンパイル結果が // C# DLL class C:IDisposable{ Dispose(); //Destructor??? ~C();//Finalizer } であることをご存知でない? http://mevius.5ch.net/test/read.cgi/tech/1644416019/291
292: デフォルトの名無しさん (ワッチョイ 51d2-3X4l) [sage] 2022/03/22(火) 21:46:59.16 ID:OaCGWLhd0 C#を欠陥言語呼ばわりするだけあってGCが何かすら知らないアホの子だったとさ。 ヤレヤレ ┐(´ー`)┌ マイッタネ http://mevius.5ch.net/test/read.cgi/tech/1644416019/292
293: デフォルトの名無しさん (ワッチョイ 8bbb-216p) [sage] 2022/03/22(火) 21:51:59.68 ID:kAgwAO/L0 >>289 言語自体の実装は見たこと無いからサパーリ せやから解説とかしてる人いないのかなって http://mevius.5ch.net/test/read.cgi/tech/1644416019/293
294: デフォルトの名無しさん (ワッチョイ 2979-zSlE) [sage] 2022/03/22(火) 21:52:39.06 ID:kPYOUkgu0 >>283 されねーんじゃねーか? 俺はあふれるまで動かないって言ってるじゃん msdnより ガベージ コレクションの条件 ガベージ コレクションは、次のいずれかの条件に当てはまる場合に発生します。 システムの物理メモリが少ない場合。 OS からのメモリ不足通知またはホストによって示されたメモリ不足のいずれかによって検出されます。 マネージド ヒープで割り当てられたオブジェクトによって使用されているメモリが、許容されるしきい値を超える場合。 このしきい値は、プロセスの進行に合わせて絶えず調整されます。 GC.Collect メソッドが呼び出されます。 ほとんどの場合、ガベージ コレクターは継続して実行されるため、このメソッドを呼び出す必要はありません。 このメソッドは、主に特別な状況やテストで使用されます。 http://mevius.5ch.net/test/read.cgi/tech/1644416019/294
295: デフォルトの名無しさん (ワッチョイ 8bcf-noGs) [sage] 2022/03/22(火) 21:53:03.08 ID:0A7XAa2y0 >>291 スコープを外れたときに自動的にDispose()が呼ばれるから問題ないってことなんだが。 http://mevius.5ch.net/test/read.cgi/tech/1644416019/295
296: デフォルトの名無しさん (スップ Sd73-2DeC) [sage] 2022/03/22(火) 22:22:58.92 ID:1zUmccnld >>288 お前はメモリとかリソースの管理を他の言語でどうしてるかもっと勉強するべきだ C/C++がユーザーに全部丸投げしてるのがいい加減辛いので言語側が管理すればいいんじゃね?ってのがGC。 GCの方式で主流なのは参照カウント方式とマークアンドスイープ方式。 参照カウント方式は循環参照(this._obj=this)があると回収されないから、 C#多少大きめのコストを支払ってでもマークアンドスイープ方式にした。 リソース解放のタイミングをコントロールしたけりゃIDisposable使え 解放漏れの保険でファイナライザ使え https://ufcpp.net/study/csharp/rm_disposable.html C#1.0のリリースが2002/02だから当時はそれでも充分だったんだろう http://mevius.5ch.net/test/read.cgi/tech/1644416019/296
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 706 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.020s