トップページgamedev
1001コメント280KB

やね本発売

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。02/06/01 20:01ID:Ffonx4Fc
LAOX Book館逝ったら、やねうらおの本が売ってました。
という訳で、とりあえず立ててみました。
0152おらうねや02/06/02 21:25ID:???
おまえら本買ってね、よろしこ!
0153名前は開発中のものです。02/06/02 21:25ID:???
アクセスバイオレーションはメモリリークに入る?
0154名前は開発中のものです。02/06/02 21:26ID:???
本の内容以上に高度なスレになっている
0155名前は開発中のものです。02/06/02 21:26ID:???
>>147
俺の場合逆。
STL自体にはバグがないことが保障されているから、安心して使える。
毎回似たようなクラスを書いていると、そこにいつバグが入るかわからないから不安。
0156名前は開発中のものです。02/06/02 21:26ID:???
結構スレが伸びたが、どれくらい売上に貢献するのだろう・・・
0157名前は開発中のものです。02/06/02 21:29ID:???
>>151
 何をムキになってんだか。

>>解放し忘れただけで止まるプログラムなんか知らない。

 これがイタイってだけですが?
0158名前は開発中のものです。02/06/02 21:29ID:???
>>153
入りません。ってか、ネタ?
0159名前は開発中のものです。02/06/02 21:31ID:???
アクセスバイブレーションで彼女に参照すると、液体がリークします
が、何か?
0160名前は開発中のものです。02/06/02 21:37ID:???
>これがイタイってだけですが?

解放忘れだけで止まるプログラムあるんですか?
マジでわからん。
0161名前は開発中のものです。02/06/02 21:40ID:???
>>160
1、スワップ大量に発生して、止まったように見える
2、newしたところ、NULLが返ってきて、NULL参照で落ちる。
のどっちかかと。
0162名前は開発中のものです。02/06/02 21:40ID:???
>>157
ま、そうムキにならずに。

エロゲなんで、プラットフォームはWinを前提に話すけど、
深刻なリソースリークを除いて、メモリリーク程度で止まるようなことはまずないよ。

強制終了するのは、ほとんどアクセス違反じゃねーの?
固まるってのは、ループの終了条件ミスってるとか。
マルチスレッドのゲームも珍しくないけど、デッドロックしてるのもあったし。
0163名前は開発中のものです。02/06/02 21:45ID:???
っていうか、なんで「メモリリーク」ごときでこんなに盛り上がれるのか、理由を言ってみろ。
0164名前は開発中のものです。02/06/02 21:45ID:???
>>161
1 普通はDMA転送になるから、スワップアウト程度でアプリが固まることはまず無い(9xは知らん)
2 それはリークではなくて、エラーリカバリが甘いだけ。
0165名前は開発中のものです。02/06/02 21:47ID:???
>>163
断片化の話題が終了したから(内心は79が謝らないから 藁)
0166おらうねや02/06/02 21:47ID:???
>>163
房やだからさ
016715702/06/02 21:48ID:???
>>162
 んにゃ、なんかスレの流れ上メモリリークの件が何故か漏れに
押し付けられてるんだけど、別にエロゲ云々言い出したのは別の
人なんだよね。

 まぁそれはともかく、止まる止まらないはともかく、メモリリーク
なんて恥ずかしい物を止まらないからOKってのがイタイなと思っただけ。
0168名前は開発中のものです。02/06/02 21:50ID:???
>>164
ハードディスクのスワップ領域を全部食い尽くしたら止まりそうな気が・・・。
0169名前は開発中のものです。02/06/02 21:50ID:???
>止まらないからOKってのがイタイなと思っただけ
だれもこんな事言ってないって。
79の記事から読めば分かるだろう
017016202/06/02 21:52ID:???
>>167
>メモリリークなんて恥ずかしい物を止まらないからOKってのがイタイなと思っただけ。
誰もそんなこと言ってませんがな(w

「メモリリークで止まるエロゲが多い」って言葉に、つっこんでるだけだと思ってたけど。
0171名前は開発中のものです。02/06/02 21:53ID:???
>>168
その時はネット空間にでもスワップさせますから
大丈V!!
0172名前は開発中のものです。02/06/02 21:53ID:???
>>169
ハードディスクのスワップ領域を食いつぶさなくても
ユーザーアドレスの空間をすべて(2Gだっけ?)食いつぶせば、
それ以上スワップは増えずにメモリは確保できなくなる。
確保できなくなるから、NULLが返ったり例外が発生したりする。
それを適切に処理出来ないから固まる。
適切に処理できているなら、いきなり固まらずに何かしらアクションを起こしてくるはず。
0173名前は開発中のものです。02/06/02 21:55ID:???
>172
まぁ、そこまで大量にメモリリークするゲームってのは滅多に無いけどね
0174名前は開発中のものです。02/06/02 21:56ID:???
>>172
メモリ確保するたびにNULLチェックをするような神経質な奴が、
そんな深刻なメモリリークを起こすとは思えない。
0175名前は開発中のものです。02/06/02 21:56ID:???
>>172
2G食いつぶすほどのメモリリークて・・。
メモリリークっていうよりメモリ堤防大決壊って感じ。
017615702/06/02 21:56ID:???
>>170
んじゃ根本的に論点がずれてるね。すまんそ。

ちなみにあたいは数キロの開放し忘れでメモリが確保できなくなる
環境でお仕事していますものでその辺シビアなのですよ。実はちょっ
と羨ましかったり。
0177名前は開発中のものです。02/06/02 21:57ID:???
>>176
そんなシビアな環境でヒープなんて使うなよという気がする。
0178名前は開発中のものです。02/06/02 21:58ID:???
>>176
ぴゅー太ですか?(ワラ
0179名前は開発中のものです。02/06/02 21:59ID:???
>>173-175
その通りだけど、メモリリークが原因で落ちると言うことの反論として(藁
実際に、そこまで激しくリークしてもリークが原因で死ぬことはないと。
0180名前は開発中のものです。02/06/02 22:04ID:rOylPC2c
スレと関係なくて申し訳ないのですが、助けてください。
VC++6.0でSTLを使おうと思ったのですが、サンプルに書いてある
通り
vector<int> test;
test.push_back( 42 );
と書いたらNULLでFreeして落ちるのですが。
どうも
_Firstも_Lastも_EndもNULLみたいなんですが。
0181名前は開発中のものです。02/06/02 22:06ID:???
>>180
F r e e す ん な タ コ

            解決
018218002/06/02 22:07ID:rOylPC2c
いえ、STL内部でFreeしてるので、もうにもこうにも。
0183名前は開発中のものです。02/06/02 22:09ID:???
NULLでFreeするってなんだ?
0184名前は開発中のものです。02/06/02 22:10ID:???
殺伐としたスレの流れを癒してくれた180に感謝。
それにしてもヒープ談義はプログラム板でも毎回盛り上がるねぇ。
0185名前は開発中のものです。02/06/02 22:11ID:???
>>180
君、事実を述べてないんじゃないの?
本当にint?
ポインタだったりするんじゃないの?
018618002/06/02 22:15ID:rOylPC2c
>185
いや、本当にこれしか書いてません。
どうも
vector<int> test;
と書いた時点で入れるデータ用にメモリを確保してないらしく、
test.push_back(42)
の中で末端を見てるのですが、末端は0x00000の割に何もチェック
をしてないみたいです。
0187名前は開発中のものです。02/06/02 22:16ID:???
SP当ててる?
018818002/06/02 22:17ID:rOylPC2c
>187
SP4を当ててます。
01898902/06/02 22:19ID:???
>>133
わざわざ、ありがとう。
派生、配列確保などを禁止してよい場合なら、そんな感じでいけます。
負け惜しみっぽい突っ込みでごめんよ。
もうこのスレではこの手の話はしないよ。
0190名前は開発中のものです。02/06/02 22:20ID:???
つーかさ、勝手に内部の_Firstとかをみてるわけ?
一度 test.begin() とかやってイテレータを生成してみたら?
0191!02/06/02 22:22ID:eI2bw8kM
http://www.twin.ne.jp/~ackey/
0192名前は開発中のものです。02/06/02 22:24ID:???
>派生、配列確保などを禁止してよい場合なら
頭、固いね。
0193名前は開発中のものです。02/06/02 22:25ID:???
include から、main からすべてのソースを書け。
そこ以外に原因があるとしか思えん
019418002/06/02 22:28ID:rOylPC2c
すいません、原因がわかりました。
STL以外にもライブラリを使ってるのですが、それがdeleteを
オーバーライドしてまして、それが悪さをしてたみたいです。
でも、FreeにNULLが渡る事は変らないです。
そういう仕様みたいですね。

大変お騒がせしました。
もう帰って寝ます。
0195名前は開発中のものです。02/06/02 22:29ID:???
>>130
そーなのか
この板あまり見ないけど、他板と同様に思い出したように
これと同じ話題・同じ展開を月1くらいでやってそうなイメージがある
0196名前は開発中のものです。02/06/02 22:30ID:???
>>194
そんなのやる前から予想できることじゃんか(藁
0197名前は開発中のものです。02/06/02 22:31ID:???
メモリリークより、ファイルをオープンしっぱなしのほうが深刻だと思うぞ。

(って、もう鎮火しちゃったのね…残念
0198名前は開発中のものです。02/06/02 22:32ID:???
>>195
たててみようか。Win対コンシューマの暑い論争キボン
0199おらうねや02/06/02 22:33ID:???
>>198
そゆことするから厨房ってゆうんよ
0200名前は開発中のものです。02/06/02 22:35ID:???
>>198
いや、辞めようよ。プラットフォームが違うんだから問題点も違う
のは当たり前で
「メモリリークぐらいじゃ止まらんわボケ」
「メモリ断片化の恐怖を知らんのかボケ」
の両意見が相容れる事なんてありえない。
0201名前は開発中のものです。02/06/02 22:37ID:???
>>198
中途半端な知識を用いた香ばしい戦いの予感


  糞 ス レ 立 て る な
020219802/06/02 22:42ID:???
http://game.2ch.net/test/read.cgi/gamedev/1013512099/l50
ウフフフ
0203名前は開発中のものです。02/06/02 22:45ID:???
>>201
 プログラマなんて全知全能である訳が無いので基本的に中途半端
な知識である事が普通だと思われる。そういう意味ではやね本も似
たようなもんだ。

 コンシューマ界の屋根氏的な存在の人が本を出せばまた盛り上が
れそうだけど。suzunaたんとかどーかな?
0204名前は開発中のものです。02/06/03 00:11ID:???
メモリリーク?気にしないよ。
断片化なんて閑人のする心配事にすぎないね。アフォばかり。
0205名前は開発中のものです。02/06/03 00:18ID:???
>>204
つまんなーい。そんなんじゃ続かないよー
0206名前は開発中のものです。02/06/03 01:15ID:RqTc5s4U
>204

コンシューマでそれやっちゃうと長時間プレイで必ずメモリが足りなく
なってハングアップすると思うよ。それでも気にしない?
0207名前は開発中のものです。02/06/03 01:20ID:???
>>206
 コンシューマ屋とWinアプリ屋の壮絶な戦いは79-200をどうぞ。
正直別の宗教同士の構想状態だから不毛。
0208名前は開発中のものです。02/06/03 01:32ID:???
ていうかさ、自称コンシューマ屋がC++の使い方を知らなくて
new deleteが使えないって主張してただけじゃん
0209名前は開発中のものです。02/06/03 01:45ID:???
>>208
自前でnewやdeleteを定義したとして、
コンストラクタ起動などはコンパイラに任せっきりになるから、
コンパイラの問題によって悩むよりは
オブジェクトの生成など自前で管理した方が遙かに保守性も生産性も上がる
って言われたことがある。
0210名前は開発中のものです。02/06/03 02:00ID:???
>>208
何を今頃煽ってるんだか。このウザ厨は。
0211おらうねや02/06/03 02:01ID:???
でさ、ぷよぉんはどこ逝ったの?
0212haruka02/06/03 04:36ID:bfUCICm.
ここまでの議論の流れだと、
コンシューマでは new/delete を自分で書くことがあたりまえ
という感じっぽいんですが、
Winでゲーム作ってる人はどれくらいそれをやってるんでしょ?
0213名前は開発中のものです。02/06/03 04:44ID:???
つーか誰だお前は?
0214名前は開発中のものです。02/06/03 06:08ID:???
なんだかポインタ関連のレスばかりみたいなんだけど
話題がそれくらいしかないくらい内容が薄い本なの?
立ち読みもしてないので。
0215名前は開発中のものです。02/06/03 06:56ID:???
ここまで読んで分かったこと

 や ね 本 は 買 う な

以上。
0216名前は開発中のものです。02/06/03 07:17ID:???
>>215
中身に誰も触れずに買うなと言っているのがミソ
0217名前は開発中のものです。02/06/03 08:39ID:???
Winですがnew/deleteは自作です。
::operator newは用途別の複数のヒープを選択したり選択しなかったりできるようにしてますが、
::operator deleteは1個です。
自作new/deleteとランタイムライブラリの初期化との兼ね合いで
iostreamは使わない、STLの静的なオブジェクトは作らない、という制限を設けてます。
クラス別のnew/deleteは固定長ですね。
0218名前は開発中のものです。02/06/03 08:45ID:???
>>217
まぁその程度は常識だよな
まともなプログラマなら
0219名前は開発中のものです。02/06/03 09:03ID:???
ここまで読んだけど、
結局この本は買いなのか判らないや。

とりあえず、本屋に並んで立ち読みできるまで待とうかな。
0220名前は開発中のものです。02/06/03 10:36ID:???
羹に懲りて膾を吹く
0221名前は開発中のものです。02/06/03 11:34ID:???
俺もメモリプール作ってやってたが、今のマシンだと
素のnew/deleteでも特に問題起こらんと分かってやめた。
0222名前は開発中のものです。02/06/03 12:25ID:???
new/deleteを安易にオーバーライドするヤシは禿ドキュソ
0223名前は開発中のものです。02/06/03 12:27ID:swojPfQc
最近のPCはメモリ空間は見た目上フラットに見えるだけで実際には
ハードがプロセスごとにメモリブロックを割り当てしてたと思うので
断片化って考えるの時間の無駄だと思うが。
0224名前は開発中のものです。02/06/03 12:37ID:???
スマートポインタを良くわからずに恐れている奴がいるようだが
参照カウントが0xfffffffに達するには最低でも8ギガを超えるメモリが必要で
現状ではあり得ない。
循環参照なんて実用上いつ発生するのか例を挙げてもらいたい。
そんなコードを業務で書く狂人はいないとは思うが。
0225名前は開発中のものです。02/06/03 13:06ID:???
蛇足な感じがしないでもないけど
参照カウントが0xffffffffを超えるならlong longなり__int64なりにすればいいし、
普通はPCでもそんな環境あり得ないから気にする必要は無いと思うけど。

ちなみに、0xffffffff時の消費メモリサイズは、
sizeof(ptr_type) + sizeof(ctr_type) * 0xffffffff;
になるから、8Gと言うのはおかしいね。 16G + sizeof(ptr_type)以上。
0226名前は開発中のものです。02/06/03 13:07ID:???
s/ctr_type/ptr_type/
0227名前は開発中のものです。02/06/03 13:14ID:???
>>225
しまったsignedで計算してた・・
逝ってくる
0228名前は開発中のものです。02/06/03 13:26ID:???
>>224
>循環参照なんて実用上いつ発生するのか例を挙げてもらいたい。
オブジェクト同士が親子関係や兄弟関係を持つような構造なら、
いつ発生してもおかしくないが。

一番厄介なのは、shared_ptrを使っただけで安心しきって、
まさかリークしているなんて思いもしない点だろう。
shared_ptrはweak_ptrと使い分けられる程度の知識なしに扱える代物じゃないね。

MSがCRIのガベコレのアルゴリズムにVBのようなリファレンスカウンタ方式ではなく、
Mark&Sweep方式を採用した理由はここにある。
(もちろんそれだけではないが。)
0229名前は開発中のものです。02/06/03 13:36ID:???
自分の知らない物で盛り上がられるのがイヤなだけじゃないの?
0230  02/06/03 13:56ID:???
結果:ここまで読みましたが、

やね本を買っていいのかどうか判断できませんでした。

まる。
0231名前は開発中のものです。02/06/03 14:00ID:???
せんせー大変です。
ジャパネット・タカタでやね本10冊を\300で売ってました。
買いでしょうか?
0232名前は開発中のものです。02/06/03 14:26ID:???
DVDでっきとVideoデッキと空テープ5本とDVDソフトと
プリンタとスキャナと三脚と予備バッテリーがついてきたら買いかもしれません
0233名前は開発中のものです。02/06/03 14:30ID:???
電線が切れる包丁も付いて来ました。

買いですね。

せんせーありがとうございました。
0234やねうらお02/06/03 14:40ID:???
ほんっと低脳だらけやこいつら!
中身が理解できないんやったら買わんでいいっちゅうの!
ぷっぷくぷ〜ってなもんや!
0235名前は開発中のものです。02/06/03 14:46ID:???
>>228
>オブジェクト同士が親子関係や兄弟関係を持つような構造なら、
これを根性で双方向参照を自力実装してしまうのも
設計を著しく疑うが
この相互参照目的のポインタにsharedを使う事も
やはり正気の沙汰じゃない。

>一番厄介なのは、shared_ptrを使っただけで安心しきって、
>まさかリークしているなんて思いもしない点だろう。
>shared_ptrはweak_ptrと使い分けられる程度の知識なしに扱える代物じゃないね。
禿同。そういうことだわな。
要するに理解して使う以上あり得ないと言いたかった。
0236名前は開発中のものです。02/06/03 14:49ID:???
やねうらおキモイ。
0237名前は開発中のものです。02/06/03 16:04ID:9xHqif9M
えーっと、今盛り上がっ、てるのは
やね本につ、いての話題
で。しょうか?
0238  02/06/03 16:58ID:???
やねうらお信者=コスプレマニア
0239名前は開発中のものです。02/06/03 17:57ID:???
>>237
そうそうに買うべきではないという結論がでたので
別のことになりました
0240p ◆skb1Nfqs02/06/03 18:29ID:???
しかし、ハンドル区切り、やね うらお かと思いきや やねう らお だという罠。
らお尊師万歳!ラヲラヲ アーメマ。
0241名前は開発中のものです。02/06/03 18:29ID:???
やねうらおってまだいたんだ・・・
0242名前は開発中のものです。02/06/03 19:04ID:???
http://www.amazon.co.jp/exec/obidos/ASIN/479800314X/ref=sr_aps_d_1_1/250-4071160-4139413

あまぞんは やね うらお だぞ
0243名前は開発中のものです。02/06/03 19:26ID:???
この本、ゲー製作を元にオブジェクト指向やデザパタに
大半のページ割いてるな。
ゲーム以外にも使えて(・∀・)イイ!!かも・・・
0244名前は開発中のものです。02/06/03 19:28ID:???
そういうのを中途半端というのではないですか?
0245零点02/06/03 19:55ID:???
金払え!
0246名前は開発中のものです。02/06/03 20:31ID:???
良くも悪くも狭い環境を対象とした本だなぁと思う
0247名前は開発中のものです。02/06/03 20:40ID:???
>>242
はんとしごの あまぞんの しょひょうが きになる。
0248名前は開発中のものです。02/06/03 22:55ID:???
だからさぁ、やね先生のreal smart pointerは凄いんだって!!!
気軽に使ってもリークしないの!
0249名前は開発中のものです。02/06/03 22:57ID:???
>>248
本人降臨?
0250名前は開発中のものです。02/06/03 22:57ID:???
>>248
艦長!循環参照しちゃってもかまわないでありますか!?
0251M02/06/03 23:00ID:???
興味しんしん
■ このスレッドは過去ログ倉庫に格納されています