1 名前:名前は開発中のものです。 [2005/12/13(火) 01:33:48 ID:TT+LcNFZ] 弊社製品のムービー再生にxvid.orgのムービー展開ライブラリを使用していた件について。 弊社製品、 『アルルゥとあそぼ!!(ランチャとRoutesミニシナリオのみ)』 『Tears To Tiara』 『鎖−クサリ−』 『ToHeart2 XRATED』 の4商品では、動画再生に www.xvid.org/ において公開されいるXViD再生エンジンを使用しております。 この動画再生エンジンのプログラムはGPL(GNU General Public License)に基づくソフトウェアとして公開されていますが、これを使用した場合、GPLに定められている通り、オファーがあればソースコードを公開する義務があります。 このGPLのソース公開義務に従い、弊社の上記4作品のソースコードを全て公開する事に致しました。現在ソースコード公開に向けて社内のソースコードのまとめを行っておりますが、2年ほど前のタイトルも含まれておりますので、多少時間がかかります事をご容赦下さい。 今後、XViDの開発元に弊社より謝罪を含め連絡をとり、GPLの基準に合致しているかを確認を行った上で、全ソースコードの公開を致しますので公開まで少々お待ち頂けるようお願い致します。 leaf.aquaplus.co.jp/xvid.html
480 名前:名前は開発中のものです。 mailto:sage [2006/01/22(日) 18:23:53 ID:f/z7gVPN] ここはマ板でつか?
481 名前:名前は開発中のものです。 mailto:sage [2006/01/22(日) 18:32:28 ID:uC6A1bwi] アルゴリズム創り出せるくらいの能力があるならともかく、 普通は速くて安ければソース気にする上司や顧客は少ないけどな 凡人はソースの美しさに時間を掛けるより、デバッグに時間を掛けた方がバグは少ない 美しさ気にしなければバグ直すのも速いし
482 名前:466 mailto:sage [2006/01/22(日) 18:53:06 ID:13ePulHq] 誰か教えてくれー、8500でゲーム作ってるのでもの凄い気になる
483 名前:名前は開発中のものです。 mailto:sage [2006/01/22(日) 19:00:02 ID:P8A4UCU8] >482 全ファイルを8500などで検索してみろよ。
484 名前:名前は開発中のものです。 mailto:sage [2006/01/22(日) 19:11:57 ID:kJ2aHrN/] >>482 俺がその書き込みをしたわけでは無いから、同じことを言ってるのかどうかわからんが 露骨にカード指定してある部分があるので、レスしてみる。 TtT起動時に 「RADEON 8500〜9200を使っている(画面が崩れる場合のみ)」というチェックボックスがある。 そのチェック項目で if(Avg._Radeon8500){ x = (int)(MapControl.px-ShakeDx); y = (int)(MapControl.py-ShakeDy); }else{ x = MapControl.px-ShakeDx; y = MapControl.py-ShakeDy; } こんな構文がある。MAPのx,y座標を浮動小数点から整数に変えてあるな。 具体的にはわからんが 整数にしないと「画面が崩れる」=「テクスチャ化け」ってことかな?
485 名前:名前は開発中のものです。 mailto:sage [2006/01/22(日) 19:16:04 ID:z/L4qfd6] >484 8500持ってないしコードも読んでないが、x,yはfloatなんか? だとすれば、テクセルとピクセルの対応が0.5ずれてるのを修正している んじゃないのか、と妄言してみる。
486 名前:名前は開発中のものです。 mailto:sage [2006/01/22(日) 19:45:14 ID:538v+OJm] 乗り遅れた〜 >190 が消えているので再アプお願いします。
487 名前:名前は開発中のものです。 mailto:sage [2006/01/22(日) 20:05:48 ID:h/A0mOdE] ↑ なにこいつ?
488 名前:名前は開発中のものです。 mailto:sage [2006/01/22(日) 20:21:15 ID:M8R6LppB] こーいうものこそWinnyでおとせばいいんでねーの?
489 名前:466 mailto:sage [2006/01/22(日) 20:26:44 ID:13ePulHq] ソース無いので助かるっす >>484-485 レスありがとうございます。ってことは8500〜9200時のみ、 テクスチャを0.5ずらす必要がない(事がある)って事なんですかねぇ。 ちなみにうちの8500だと、0.5ずらして初めて、テクスチャが綺麗に表示されます(TL済みの場合)。
490 名前:名前は開発中のものです。 mailto:sage [2006/01/22(日) 20:59:45 ID:z/L4qfd6] >489 それは大抵のグラボでそういう動作をする。 texelの中心とpixelの中心は0.5ズレてるのが普通。 つーことは、違うっぽいね。何のためなんだろう?
491 名前:名前は開発中のものです。 mailto:sage [2006/01/22(日) 21:03:57 ID:kJ2aHrN/] いや、テクセルの中央ずらしは他のオプションで制御されてる。 良くわからんな。 てか、確か8500−9200って全て同じコアでしょ。 しかも、8500が出た当時、海外のベンチマークやゲームでも、よくテクスチャ化け起こしてた。 9000でリニューアルされて以降、そういうのは聞かなくなったけど、そのへんかも。
492 名前:名前は開発中のものです。 mailto:sage [2006/01/22(日) 21:43:21 ID:+vTmADOH] ソース読んだけど・・・フツーにウンコだなw つーか、こいつメモリ管理(インスタンスの管理つったほうがわかりいい?)できてねぇよ。 あ、newとかdeleteの管理ができてないってことね。 どのタイミングでなんのデータを生成して、どのタイミングでなんのデータを削除するかってのがまるで見えてない。 これじゃバグ減らないだろうな・・・。 まあ、所詮はエロゲPGってとこで終了。データ削除。 洋ナシ、脳ナシ、魅力ナシ、領域の無駄w HDDから飛んでケー!w
493 名前:名前は開発中のものです。 mailto:sage [2006/01/22(日) 21:53:31 ID:zheMC4ji] 自慢厨ばっかで実際にプログラムできそうなヤツは居ないようだな 葉っぱ板のがまだ有効に使ってる
494 名前:459 mailto:sage [2006/01/22(日) 22:34:29 ID:TvkA53ao] >>469 >メモリリークの話なんかすんなよ。レベル低すぎ。 >そんなもんはつぶしてあるのが前提の話だろうが。 どうやって、その潰されているってのを保証するんだ? >つーかさすがに俺もデストラクタは使うから、スコープを外れれば >自動解放されるし、メモリリークはほとんど起こさんけどな。 インナーで使っているものはそれでいいかもしれないが、 外部からポインタをセットして貰って、その領域がいつの間にか解放されていたり、 内部のポインタをどこかに渡してそのままデストラクタが呼ばれた場合は? >スマートポインタの使い方回りで変なバグ作りこむ方がやっかいだ。 それって質の悪いスマートポインタ使ってるんじゃね? newだろうがmallocだろう自前のアロケータだろうがちゃんと解放出来て、 アップ・ダウンキャストが出来るスマートポインタじゃないとまともに使えないと思う。 >解放タイミングが見えにくいのも怖いし。 どこから参照されているか、ってのを常に考えながらプログラムを書く方が恐い。 人間だから、いつ忘れるかわかったもんじゃないからな。 >>470 >ソースからどうやってそんなこと読み取んだw 超能力者かw Leafはシステム周りがあまり充実してるとは思わなかったからね。 >構造をウンウンうなって考えてるばかりでコード書かない奴 それは凄腕のプログラマとは言わない……。
495 名前:459 mailto:sage [2006/01/22(日) 22:35:59 ID:TvkA53ao] >>475 >そんな想像でしか分からない事考える方が無駄だと思うが。 確かにそうかも...。 >>476 >そのとおり、時間の無駄。働かないマニアを飼っとく余裕はない。 俺もそう思う。 >ベタコードで書いたって読める範囲のものを作るときはベタに書け。 だからってベタに書く必要は無い。 速く設計出来てバグのないプログラムを速く組めて、保守性が良ければいい。 とりあえず全部は無理にしても、それを目指すべきだろう。 >>478 こういった全部publicになってるようなソースはどこから何をされているか分かりづらいから、 安全性が保証されていることを立証するのが難しいんだよ。 だから「まだまだあるだろう」って書いた。 >>481 >普通は速くて安ければソース気にする上司や顧客は少ないけどな 上の人は保守性も気にして欲しいな...。
496 名前:名前は開発中のものです。 mailto:sage [2006/01/22(日) 22:38:02 ID:DFIhmGNN] 上記のRADEON8500対応みたいな部分こそ、枯れてるプログラムの美点だな。 あたまでっかちが幾ら「綺麗な設計」しても、環境が無ければ対応できない。 「ハードウェア/ドライバ側が対応すべきだ!」と寝言を言って RADEONユーザを逃すか、AP側で対応して売るか。
497 名前:名前は開発中のものです。 mailto:sage [2006/01/22(日) 22:40:42 ID:1kCo7YFB] >あ、newとかdeleteの管理ができてないってことね。 newもdeleteも使って無いようだけど…? つーか、何人かは「C++使ってないからウンコ」と主張してるようだけど そんなんで批判してるのはアホだよ? Javaしか知らないJava厨に言わせれば「Java使ってないからウンコ」だろうね。 Lispしか知らないLisp厨に言わせれば「Lisp使ってないからウンコ」だ。 その次元と同じことに早く気づけよ。
498 名前:459 mailto:sage [2006/01/22(日) 22:45:24 ID:TvkA53ao] >>496 枯れてるプログラムというか、過去の蓄積では……。 そして本当の「綺麗な設計」は、その辺も丁寧に wrap 出来る設計だと思う。
499 名前:名前は開発中のものです。 mailto:sage [2006/01/22(日) 22:48:03 ID:1kCo7YFB] さっきから「スマートポインタ使わないなんてバカじゃね?」 というような主張をしてるキミへ スマートポインタ?なんでGC使わないの?バカじゃね?
500 名前:名前は開発中のものです。 mailto:sage [2006/01/22(日) 22:52:04 ID:AsVDwAC5] GC使えばメモリリークがなくなると思ってる奴は素人
501 名前:名前は開発中のものです。 mailto:sage [2006/01/22(日) 22:52:37 ID:XpXxM0hz] 設計段階から、どんなワークアラウンドが必要かなんて わからんよ。
502 名前:名前は開発中のものです。 mailto:sage [2006/01/22(日) 22:57:35 ID:1kCo7YFB] スマートポインタでメモリリークが無くなると思ってる奴よりは玄人
503 名前:459 mailto:sage [2006/01/22(日) 22:58:12 ID:TvkA53ao] >>499 俺か? GC のことを失念してた。 でも、GC は便利だけど、開発の規模が大きくなるから、 そんなの言語レベルで実装してくれないと厳しい気がする。 C++ で GC とか作れるレベルのプログラマにスマートポインタを必ず使えとは言えないけど、 malloc とかで領域を確保するぐらいならスマートポインタを使って欲しいね。
504 名前:名前は開発中のものです。 mailto:sage [2006/01/22(日) 23:00:42 ID:TvkA53ao] >>502 GC を自前で作れるヤシは玄人。 まじすげぇと思う。
505 名前:名前は開発中のものです。 mailto:sage [2006/01/22(日) 23:01:30 ID:vZBnACJ9] つーか、マジ葉鍵板のほうがまともだな。 普通のプロジェクトに参加したことがあるならこれくらい普通だろ? 100人クラスは参加したこと無いので分からんが。 もし自分が飛び込みで参加するとしたら吉里吉里とかよりよっぽど 今回のこのソースのほうが入りやすいと思うんだが。 それとも大手では本当に理想論的なプログラムを組んでるの? 最大でプログラマ10人で、大作プロジェクトにはかかわったこと 無いので最大手などはどうやってるかわかんないですが。 あと、最後まで組み上げた事なさそうな理想論言う人多すぎ。
506 名前:名前は開発中のものです。 mailto:sage [2006/01/22(日) 23:04:17 ID:z/L4qfd6] >504 GCは68k版のPalmOSにも載ってたな、そういえば。
507 名前:名前は開発中のものです。 mailto:sage [2006/01/22(日) 23:19:54 ID:ygE4fJMl] あのう、鍵板の方のどのへんがマトモなんでしょうか。
508 名前:名前は開発中のものです。 mailto:sage [2006/01/22(日) 23:26:02 ID:Z5b54lQg] 現場も吉里吉里も知らない普通の趣味プログラマーだが、 ソース見た瞬間に糞っぽい雰囲気が漂ってきたぞ。
509 名前:名前は開発中のものです。 mailto:sage [2006/01/22(日) 23:34:15 ID:0R7Wn0fr] GCでメモリリークがなくなると思ってるんですけど。。 なくならないんです? あと、少しくらいメモリリークしてもいいジャンとか思ったり。。。
510 名前:名前は開発中のものです。 mailto:sage [2006/01/22(日) 23:45:43 ID:CAN1/NC4] なにより目的が違うじゃん。 吉里吉里ってのはどんなゲームになるのかわからんから 汎用性やメンテ考慮するだろうけど、 これについては、ToHeart2っていう企画のゲームが 納期までに動けばいいんだから。
511 名前:名前は開発中のものです。 mailto:sage [2006/01/22(日) 23:45:46 ID:uYeDG6o0] ガベージコレクション www.kmonos.net/alang/d/garbage.html
512 名前:名前は開発中のものです。 mailto:sage [2006/01/22(日) 23:47:52 ID:hoOpivrO] 最近はメモリなんて山ほどあるんだから、エロゲくらい静的配列でいいじゃん
513 名前:名前は開発中のものです。 mailto:sage [2006/01/22(日) 23:48:28 ID:0R7Wn0fr] >>511 やっぱりメモリリークがなくなるように見えるんですが 俺ってバカ?
514 名前:名前は開発中のものです。 mailto:sage [2006/01/22(日) 23:50:53 ID:41l+VNv6] >>510 ゲームプログラムの場合1作品じゃペイしないから 汎用性、メンテしやすさを考慮して、 数作掛けて元を取るのが最近のトレンドでないの?
515 名前:名前は開発中のものです。 mailto:sage [2006/01/22(日) 23:51:33 ID:HmsqJZOc] >>513 いつプールするか指定できないからリークが発生する
516 名前:名前は開発中のものです。 mailto:sage [2006/01/22(日) 23:52:01 ID:TvkA53ao] >>509 循環参照してると、いつまで経っても解放されない。 もしくは自分は解放したつもりでも、スレッドマネージャとかの管理クラスが いつまでも参照しているってこともある。 >少しくらいメモリリークしてもいいジャン Windows ならプロセスの終了時に OS が解放してるから、 ちょっとしたリークなら大丈夫かもね。 でも、リークするルーチンが何度も呼ばれるようであれば問題。 スワッピング起こして動作が鈍くなって最終的には落ちる。
517 名前:名前は開発中のものです。 mailto:sage [2006/01/22(日) 23:52:04 ID:CAN1/NC4] >>514 よくしらんけど、Leafのゲームって バカ売れしてるイメージがあるんだけど違うんでしょうか
518 名前:名前は開発中のものです。 mailto:sage [2006/01/22(日) 23:58:37 ID:k5TOLKVY] ガベコレだと有名なのはBoehm辺りかな。 だれか趣味じゃなくてプロジェクトで使った事ある人居る?
519 名前:名前は開発中のものです。 mailto:sage [2006/01/22(日) 23:59:31 ID:0R7Wn0fr] >>515 そのうちプールされるんじゃないんです?
520 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 00:02:38 ID:EpmzMPqz] >速く設計出来てバグのないプログラムを速く組めて、保守性が良ければいい。 >とりあえず全部は無理にしても、それを目指すべきだろう。 とりあえず君が夢見がちなアリスちゃんって事は分かった。
521 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 00:07:30 ID:TvkA53ao] >>520 だから「目指すべきだろう」って言ってるじゃん。 俺なんか変なこと言ってる?
522 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 00:09:55 ID:E7dvDvpC] >>521 shamin乙
523 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 00:58:12 ID:6n5VZaEV] 結論:LeafユーザのPCのべ数十万台での稼動実績 >>>>>>>>>> 頭でっかち名無しの空論・べき論
524 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 01:42:48 ID:ew54EQW7] 俺は、>484のようなのがもっとたくさんあるならいいなあと思っていた わけだが、なかなかそういうもんでもないようだな。 >494 >どうやって、その潰されているってのを保証するんだ? さて、どこから突っ込んだものやら。 >495 publicだのprivateだのでバグが増えるほど複雑なソースでもないだろ。 君の理論だと、Cソースであるだけで潜在的バグを疑われることに なるんだが? C++以前からやってるプログラマを舐めすぎじゃないか? mallocがリーク云々の元だとか行って毛嫌いしてる奴は、 Win32APIの取得/解放系は一切使わないのかねえ?
525 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 01:52:39 ID:TJiDURV2] メモリリークのバグとか聞くのはたいていCのプログラム。 Javaプログラムのメモリリークなんて聞いたこともない。
526 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 01:57:28 ID:ABluZIRp] だったらエロゲだけじゃなくてFPSやネットゲーもJavaで開発すればいいのにね
527 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 01:58:09 ID:ew54EQW7] >525 リークしにくいのがJavaの売りのひとつなんだから当然。ないわけではないが。 C++でもリークするようなコードはいくらでもかけるぞ。 Cのリークは、どこかで解放すりゃあそれで終わるようなことだが、 下手に作りこんだスマートポインタやGC周りでリークが起きたら デバッグしんどいぞ。
528 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 02:04:52 ID:FI4Y5xu4] >Cソースであるだけで潜在的バグを疑われる そういうことになるな。 だからこそ C++ や C# という言語が出てきたと思っているんだけれども...。 >C++以前からやってるプログラマを舐めすぎ 俺もCからやってるよ。 でも、Cは必要のない管理(機械的に出来る処理)を迫られることがよくある。 俺は、機械的に出来る処理は、出来る限り機械に任せるべきだと思っているんだが、 そう思ってる人は少ないのかな? >Win32APIの取得/解放系は一切使わないのかねえ? スマートポインタをセットするときに、解放するための functor を一緒に登録しておく。 そうすれば、どんなアロケータだろうときちんと解放できる。
529 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 02:08:54 ID:2ogVSCi/] 別にCだってカプセル化はできるしスマートポインタだってできるでしょ。 C++ほど実装が自動化できないというだけで。
530 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 02:11:59 ID:rk2b9dla] >>529 Cでデストラクタの自動実行を実現する方法があるなら教えてくれないか?
531 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 02:24:21 ID:FI4Y5xu4] >>529 >スマートポインタ 確かに出来る。 ただ、例えばポインタ同士をイコールで結ぶたびに、参照カウンタを増やすための 関数を呼び出さなければならないっていう(無駄な)ルールが出来てしまう。 もしその関数を呼び出すのを忘れたらカウントが狂ってしまう。 smart_equal みたいな関数を作ったとしても、可読性がすごく悪くなる。 さすがに俺もそこまでして C でスマートポインタを使おうとは思わない...。 C++ であれば、operator=() を使えば解決できる。 可読性も落ちない。参照カウンタを間違えるミスもしない。 >C++ほど実装が自動化できない 俺はそこが一番の問題だと思ってる。 忘れるってのは人間だからあること。 ちょっと忘れただけで重大なバグが出たりすると、目も当てられない。 しかもそのデバッグするコストを考えると、出来る限り自動化したいと思ってる。
532 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 02:32:00 ID:JHW/xF6w] C++は学習コストが高い。 俺はかなり上達したが、思い返せば確かに複雑なルールが多すぎる。 それを思えば、使える人が多いCで開発することもしょうがないと考える。 クラスを作る時のビックスリーの約束事、ちゃんと知ってる人が何人いるか。
533 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 02:35:40 ID:JHW/xF6w] >しかもそのデバッグするコストを考えると、出来る限り自動化したいと思ってる。 はぁ。ならC++を使うのもやめたらどうだろうか。 もっと自動化できるよ。
534 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 02:48:17 ID:FI4Y5xu4] >>533 うん、今は C# を勉強してる。 ところで、これは純粋な疑問なんだけど、 >もっと自動化できる 自動化しても構わない部分を自動化するのに何か問題があるの?
535 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 02:54:37 ID:JHW/xF6w] 勝手にすればいいんじゃないの?お前がどうしようと自由だ。
536 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 02:57:47 ID:FI4Y5xu4] >>535 了解。おやすみ。
537 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 03:36:21 ID:m/04m7oX] 単純に、2人で開発しるとします。 1人はC++を完全に使いこなせる。C的に書くことも出来る。 1人は、C専用。 この環境で、C++で組むことが望ましいか? ・・・んなわけない。 それだけの話だと思うんだが。 このコード、明らかに2人以上の手が入ってるし。
538 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 03:54:11 ID:hQP9AfeF] そしてそのうちの1人はC++を完全に使いこなせないのに 無理してC++使うアフォだな
539 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 04:08:19 ID:6JCAhh7Q] お前らつまらない事で争ってないで仲良くデスマーチしてなさい
540 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 04:55:19 ID:zWoY+E2s] >537 betterCとしてC++で組みながら、徐々に学習/教育していく。 年がら年中マスターアップ前じゃ無いんだから、 余裕のある時に、言語の学習やらライブラリの整理やらをしてるのか?って話だと思う。
541 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 07:06:40 ID:LU0Ls/vr] お前ら、エロゲプログラマはプログラマでもさらに底辺の存在なんだよ これ基本 これで糞コードも、低レベルプログラマ擁護厨も説明がつくだろ? まともに付き合ってると感染るぞ
542 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 07:40:25 ID:GnjRD22b] >>537 C++使えない人間を採用しなきゃいいじゃん 同人じゃあるまいし…
543 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 08:41:02 ID:JHW/xF6w] >>542 お前直前のレスが読めないのか? エロゲなんて同人と大して変わんないんだよ。 >C++使えない人間を採用しなきゃいいじゃん 普通のゲーム求人でもC++必須と要求しとる会社なんぞ少ないわアホ! 社会でろ!
544 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 08:43:05 ID:MBYpjn7a] 両方使える奴を採用すればいい。
545 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 09:01:25 ID:87gDgMCs] 面接で忘れてはいけない最も重要な点はここにある ―優良な候補者を誤ってはじいてしまう事は不良な候補者を誤採用するよりはずっとマシ― 不良候補者の不手際を修正するために、ゆくゆく多大なる優秀な人々の時間、 ひいては会社のコストを犠牲にしなければならなくなる。 少しでも不安要素があれば 不採用 だ。
546 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 12:20:59 ID:ew54EQW7] >528 >>Cソースであるだけで潜在的バグを疑われる >そういうことになるな。 あきれ果てた。少しはまともな奴かと思ってたのに。 >でも、Cは必要のない管理(機械的に出来る処理)を迫られることがよくある。 そういうところだけC++を使えばいい。デストラクタとかね。つまりbetter C。 なんでも自動化しようとしすぎてドツボにはまるのがC++マニアの限界。 >スマートポインタをセットするときに、解放するための functor を一緒に登録しておく。 >そうすれば、どんなアロケータだろうときちんと解放できる。 いつ解放されるのかタイミングを制御しにくいけどな。 解放順でエラーが出るとめどい。だから、MFCとかは明示的に解放できるように Create Destroyメソッドが付いてんだよ。実質malloc freeと変わらん。 >532 >それを思えば、使える人が多いCで開発することもしょうがないと考える。 そゆこったな。俺だってその気になればC++使えるけど、デバッグ時に いちいち参考書読んで調べながら、なんてやってられんだろう。 硬くて単純なCライクなソースを好むのはそういうことだ。
547 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 12:26:24 ID:ew54EQW7] 「潜在的バグ」の作りやすさという点ではCが劣るかもしれないが、 悪質さという意味ではC++のほうが劣る。継承元やテンプレートの 細かい実装部分に由来する不具合を追うのは大変だ。ソース上に現れない 関数呼び出しが多いからな。 C++は元々ある程度大きなプログラムを集団作業で作るために開発された 言語だ。大して大きくもないシステムを一人で保守するために、あんまり 大げさな設計をする必要はない。ベタでいい。
548 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 12:30:42 ID:ew54EQW7] つーか、今読み直してみたけど、XvidもCソースだぞw これも潜在的なバグが疑われるのか?
549 名前:名前は開発中のものです。 [2006/01/23(月) 13:27:57 ID:bDe/L9gI] C++叩くやつって大きく分けて2種類いるよな。 C++理解できないやつと、C++使いすぎて問題点が目に付くようになったやつと。 前の会社で前者の上司がいて大変だったぜ。
550 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 13:59:39 ID:ew54EQW7] 趣味でならSTLもBoostも触ってみたことがあるし、Modern C++なんか パズル的に大いに楽しませてもらったけどな。 仕事で使うってことは、また別だからな。
551 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 14:03:29 ID:9BTKjMXx] なんか2ちゃん初心者みたいなのがいるね。
552 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 14:06:35 ID:ew54EQW7] 2ちゃん熟達者って、なんかの自慢になるのか?
553 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 16:01:47 ID:sSE863Da BE:532699586- ] すみませんが誰かソースを再うpしていただけませんか。
554 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 16:38:49 ID:Wyfr2M+3] 使う人間の能力が追いつかなくてバグの温床になるような言語は要らない。
555 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 16:39:21 ID:x4XcF0Nc] この板のWikiの専用ページに置いてあるだろうに
556 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 17:01:14 ID:6YNn4rFZ] ここすか? gamdev.org/w/?%5B%5BToHeart2%A4%DB%A4%ABAquaPlus%2FLeaf%A4%CEGPL%A5%B2%A1%BC%A4%F2%A4%A4%A4%B8%A4%EB%A5%B9%A5%EC%5D%5D#content_1_1 なんか不具合があるような報告があるんだけど、 ビルド&実行できるんかいな?
557 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 18:18:50 ID:ew54EQW7] saerchはなあ。ちょっと恥ずかしいなあ。 世の中結構つづり間違ってるソースあるけどさ。日本人はその辺弱い。
558 名前:名前は開発中のものです。 [2006/01/23(月) 18:37:56 ID:JZo/obfj] で、リファクタリング済みのソースUPはまだですか? >設計が汚いとか実装がヘボイ云々言ってる賢い人々 #「1から作り直した方が早くて楽」であるなら、 #同じ機能を作り直したソースでも構いませんが…
559 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 18:53:40 ID:2ogVSCi/] じゃあ俺がreserveをresizeに直したのをUPするよ。
560 名前:名前は開発中のものです。 [2006/01/23(月) 19:50:15 ID:LU0Ls/vr] >>558 通りすがりが川を見て「汚い川だな」と言ったからって その通りすがりがドブ掃除までするはずが無いだろう。
561 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 20:31:04 ID:rWlxudZV] >>559 あの箇所はそれだけじゃ解決しないじゃん・・・。え、いや、もちろん 気がついてらっしゃると思いますけど
562 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 20:37:33 ID:ew54EQW7] >560 所詮口だけってことだな。
563 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 20:41:17 ID:46B/3xxf] >>560 最高に笑ったw
564 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 20:43:38 ID:aa1eToNE] >>560 座布団3枚
565 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 20:45:45 ID:ew54EQW7] 自分から「キボンヌキボンヌ」と騒いでドブ川へ我先にと飛び込んでおいて、 「汚い川だな、服が汚れちまった、俺んちの池のほうが綺麗だぜ」とか 騒いでるようなもんだな。しかも、本当にそいつんちの池が綺麗なのかは 誰も知る由もないw
566 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 20:47:19 ID:Wyfr2M+3] じゃあ、あれのソースはキレイなのかってぇとそうでもない気がするんだが。
567 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 21:19:31 ID:ew54EQW7] やるか? 吉里吉里のコードレビュー
568 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 21:39:57 ID:rWlxudZV] 汚いソースのゲームだとウン万本売れるってことだ。 綺麗なソースだと売れないってことだ。
569 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 21:44:52 ID:gtuVUXnw] それが結論かも。 要は動くモノを送り出せばいいだけで、きれいにすることに時間かけることなんか たいした意味がないということかも。
570 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 21:56:54 ID:ew54EQW7] そゆことだな。コードの美しさなんか誰も評価してくれないし。
571 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 22:02:38 ID:BvvCMcBl] 俺は汚いソース書いた部下を許さない
572 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 23:32:15 ID:FI4Y5xu4] >>546 >なんでも自動化しようとしすぎてドツボにはまるのがC++マニアの限界 設計のやり方だろうな。下手な奴がやるとむしろよけいに汚くなる。 >解放順でエラーが出るとめんどい 出るのか? どこからか参照されてる限り解放されないんだから、NULL にアクセスってこともないだろ? あと俺は MFC 嫌い...。 >>547 >細かい実装部分に由来する不具合を追うのは大変 確かに。それは同意できる。 >大げさな設計をする必要はない。ベタでいい。 大げさな設計をする必要はないと思うけど、だからってベタにする必要はないんじゃね? デザインパターンは結構小回りが効く設計だと思うんだけど。 >XvidもCソース いまだに C でプログラムを書かないといけないって現状を考えると、 こういったものは C で書くしかないんじゃね?
573 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 23:36:07 ID:gDiWXnTi] >>557 文字が前後逆になるtypoは日本に限らずありがちだと思うけど。 www.google.com/search?num=50&hl=en&q=saerch&btnG=Search でも以前 ge-mu ってフォルダを見た時は切なくなった。
574 名前:名前は開発中のものです。 mailto:sage [2006/01/24(火) 00:13:09 ID:C2qh0Z8r] >>572 いいや、ベタにする必要はある。 際限なく汎用化、抽象化し、簡単なはずの物事を難しくしようとする設計厨にはわからんのかもしれんがな。
575 名前:名前は開発中のものです。 [2006/01/24(火) 00:20:15 ID:1HPVs1Ni] >>559 UPまだぁ〜?
576 名前:名前は開発中のものです。 mailto:sage [2006/01/24(火) 00:45:32 ID:wKPmTrbq] >>574 >際限なく汎用化、抽象化 そこまでは言わないよ。 俺も1回しか使わないようなソースであればベタで書いた方がいいと思ってる。 さすがに何度も使うような部分であればちょっと考えるけど。
577 名前:名前は開発中のものです。 mailto:sage [2006/01/24(火) 01:25:54 ID:yzjHkLEW] YAGNI >>>>>>>>>>>>> OO
578 名前:名前は開発中のものです。 mailto:sage [2006/01/24(火) 01:27:12 ID:K8lMIVbT] >572 そら上手い奴が上手くやればなんでも上手く行くけどな。 解放「順」が問題な。あと、リソースをこまめに節約しようと思うと、 どうしても手動で取得/解放する形になるなあ。目に見えるところで 制御したい。まあ、君がMFC嫌いだというのは分かる気がする。 デザパタは確かに有意義かもしれんが、あんまし今回関係なくない? 対応コンパイラがVC++とgccなんだから、C++でいい気がするが。
579 名前:名前は開発中のものです。 mailto:sage [2006/01/24(火) 01:48:11 ID:wKPmTrbq] >>578 >上手い奴が上手くやればなんでも上手く行く だね。ほんとそういう人たちを尊敬する。 >手動で取得/解放する形になる null をセットすれば事足りるけど、確かにそれだと どこかに残ってる可能性があるから怖いね。 でもどこかに残ってるってことは不正アクセスの可能性があるわけで……。 まあそんなプログラムは C だったら組まないか……。C++ だからありうる話だね。納得。 >あんまし今回関係なくない? 大がかりにならない設計を考えると、まず最初にデザパタの一部が思い浮かんだんだ。 考えてみれば、デザパタも小さいとは言えないかもしれない。 >C++でいい気がする C しか使えない or C の方が使いやすいって人が多かったってことなのかな。 もしくはやっぱり多くの人に使ってもらうためとか。
580 名前:名前は開発中のものです。 mailto:sage [2006/01/24(火) 02:19:15 ID:0JfXcgLd] >575 これかな? ttp://gamdev.org/w/?%5B%5BToHeart2%A4%DB%A4%ABAquaPlus%2FLeaf%A4%CEGPL%A5%B2%A1%BC%A4%F2%A4%A4%A4%B8%A4%EB%A5%B9%A5%EC%5D%5D#contents_1