【C++】 DirectX初心者質問スレ Part13 【C】
そんなに面倒ならプログラムを組むのをやめるといいよ。
面倒だけどやるっつてんだろうが糞ハゲが
役に立たない上にガタガタ騒ぐなボケ
っていうか、デバッグバージョンのdllを使えば済む話じゃないか?
コード上で検出したいなら、グローバルなインターフェースはNULLで初期化しておいて
Releaseすると同時にNULLを代入するマクロを使う。
(Releaseの戻り値が0かどうかも確認するといい)
最後に全てのインターフェースがNULLかどうか確認する。
最後のLPDIRECT3D9とLPDIRECT3DDEVICE9のリリースで0になっていませんでした
でもどこで忘れているのか見当もつきません;;
スマートポインタを始めて聞いたようなレベルの同僚と共同作業する場合
自分がローテクに降りて行くほうが安全確実である。
悲しいがそれが現実だな
一つずつ切り分けていったら原因箇所がわかり、Releaseの戻り値
すべて0にできました、ありがとうございます
そしてAddRef/Releaseの戻り値に依存したコードは書いちゃ駄目と
MS自身が言及している悲しい現実。
デバッグ用に確認してるだけであって、
戻り値によって処理を分岐してるわけじゃないんだろ?
まあReleaseの戻り値が期待通りでなくても文句は言えないんだが。
つか
>>958 そこまでデバッグする暇あるのなら素直にComPtrで書き直せばいいのに
時間かかりそうならスマートポインタに書き換えようと思いましたが
SAFE_RELEASEにログを吐くコードをくっつけて
↓見たいな感じで一つずつやっていったらすぐに特定できたので・・・
プレイヤークラス->Create()
//ステージクラス->Create()
//メニュー表示クラス->Create()
・・・
プレイヤークラス->Destroy()
//ステージクラス->Destroy()
//メニュー表示クラス->Destroy()
・・・
962 :
デフォルトの名無しさん:2007/09/07(金) 00:33:27
>>961 〜を使うではなくてプログラム自体を
そういうことで悩む必要のない構造にできればレベル+1だw
俺はちゃんと組めばスマートポインタの出番なんてないと思ってる
破綻することがわかってるコードをゴリ押しでもってくのがスマートポインタ
>>962 最後の一行に激しく同意。
階層設計を構造的にきちんとデザインしないからスマートポインターとかでよろしく処理しようと思ってしまう。
こんなふざけた野郎はどうみても釣りだろ。
>>963 構造主義一辺倒じゃ片付かない事例なんていくらでもあると思うんだ
>>965 多人数で組む時とか?
でも、ここは初心者スレだし。
最初からスマートポインタで対処療法しちゃう癖つけるのも宜しく無いよ。
現実のコードが追いつく/追いつかないは置いておいて、
どっちにしろ構造をデザインするのは悪い事じゃないし。
>>965 そういうやっつけ仕事をして日銭を稼いでいるような会社は可愛そうだな。
事例はある事は認めるが、それに甘んじてしょうがなく働くかどうかは本人次第。
俺はとっくにそういったことに見限って10年前からアメリカのソフト会社だから全然違うけどな。
誰も聞いていない自分語りを始める奴は、例外なく心の病気にかかっている。
>多人数で組む時とか?
いいえ、事案自体の構造的に、構造主義一辺倒の分析で間に合わないケースがあるよ
初心者スレだからこそスマートポインタに対する冷静じゃない見方を植え付けるのは
よくないなあと思ったんだが
>>969 DirectXみたいに構造化された対象を扱うケースで?そんなに頻繁に?
設計がおかしいんじゃねーの?
構造化・・・
スマートポインタをただの開放忘れ防止にしか使ってなきゃいいけど
よくわからなくなったインスタンスの所在を一括廃棄するために使ってるとしたら
普通に危険だ
この先経験を積んでもロクなプログラマにならないだろう・・・
俺はそういう奴を何人も見てきたw
俺はそういう奴を何人も見てきたw
具体的に何人?
大抵は日本人だけど中にはインド人とかもいた
廃棄タイミングを制御できない事例について議論しようぜ
オブジェクトを生成した階層と、そのオブジェクトを使う階層が違って、かつオンラインのような長期稼動のケースでは、廃棄タイミングを制御するなんて現実的じゃないと思うんだ
思うだけで深い意味はない、素人だから
日本人
曰本入
日本人(笑)
つうか、自動変数でしか管理されて無いオブジェクトってなんなの?
そんなもんがプログラム中に頻繁に発生するの?
初心者スレなのになんか難易度の高い基地外が住みついてるなこのスレは
982 :
デフォルトの名無しさん:2007/09/08(土) 02:21:03
質問です。
初心者レベルの問題なのかはよくわかりませんが、
正規化(Normalize)や内積(Dot)・外積(Cross)の使い方がわかりません。
というか、何となく言葉ではわかっているんですが、
それを実際にプログラミングで使用するとなると
一気に?状態になるんです。
ベクトルの長さを1に〜とは言っても「1にしてどうすんの?」
という感じでして・・・
どなたかわかりやすい解説や、わかりやすいサイト等を
知っている方は是非お願いします。
他人の解説を聞いても意味はないよ。他人にとって欠かすことができない処理でも
自分の作るプログラムに必要でないことはいくらでもある。
スーパーマリオもドラクエも法線の計算を使ってないだろうしな。
>>976 それってつまり管理できてないってことでしょ?
ゲーム系だとみんな俺様設計で組んでるから文句言われないけど
業務系でそういうことやると組み直しになるぜ
生成したインスタンスが管理できてないなんて特に最悪
どうせならどこでも通用するプログラマになりたいよね
それにそもそも
>オブジェクトを生成した階層と、そのオブジェクトを使う階層が違って、
この構造がまずそうじゃねぇか、この仕組みに手を入れないで
スマートポインタに手をだしていいのは締め切り1ヶ月前だけだろw
ほんと広範囲に影響がでるもん触ることになってちょっと怖くて組みなおせないよってときは
いいと思う>スマートポインタ
なに興奮してんの
>>986 結構重要な分岐点だから
ここでインスタンスの管理をサボるようになると
マジでロクなPGにならない
重要なことかもしれんけど初心者スレでインスタンスの管理やら説いても伝わるとは思えんけどなあ
そして伝わってないなら周りから見ればスレ違いのオナニー長文にしか見えないわけで
場違いな所での場違いな力説の空回り感と言ったら・・・
まあ、ちゃんと管理しなきゃ駄目だよってことが伝わればおk
どーせJavaグラマ上がりのスマートポインタマンセーブタが、設計の手抜きに対して
「事案自体の構造的に、構造主義一辺倒の分析で間に合わないケースがある」
とか寝ぼけてんでしょ。
無視が一番。
チームが分断していてコントロールできない事例なんていくつもある
さらにチームではなく、外部ベンダとかに分断している可能性だってある
現実的に優秀なPGが一人いるわけじゃなくて、馬鹿なPGが大勢いることの方が多い
下手したら日本人PGはインドや中国のPGより質が悪いかもしれない
じゃあ現実的にどうしようか、って考えたらリソースリークが避けられるスマートポインタは一つの方法としてあると思う
(生成したもの全てをスマートポインタにしろといってるわけじゃない)
他には遅延フェッチの実装を助けるとか、リソース管理とか参照回数の計測をしなきゃいけないときとか、純粋にコーディング世界での有用性もあるし
要は使いどころだと思うよ
だったら、まず必要なのは「スマートポインタで逃げる事」じゃなくって、
多人数でも正常に動作する構造設計と品質管理システム。
リークのあるリソースの追跡なんてプロファイラでやる事。
最後の行も、スマートポインタと全然関係無い。
普通にスマートポインタ使わない環境でもやってる事ばっかり。
「要は使いどころ」なのは同意だが、「困ったらスマートポインタ」なんてやってたら
バカPGが大勢生産される環境になるだけ。
お前らみんなスレタイを見ろ。
>他には遅延フェッチの実装を助けるとか、リソース管理とか参照回数の
まさにスマートポインタの使いどころだと思うけど
設計でつまずくたびにスマートポインタでスマートに逃げる・・・
逃亡プログラマだなw
体育会系プログラミングってやつか
糞スレ埋め
でもそんなの関係ねぇ
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。