タグ

ブックマーク / marupeke296.com (5)

  • その7 メモリリークの検出方法

    ホーム < ゲームつくろー! < Programming TIPs編 < メモリリークの検出方法 その7 メモリリークの検出方法 C言語で泣かされるのがメモリリークです。メモリリークはnew演算子などでヒープメモリを動的確保した後にdelete演算子などでそれを解放し忘れた時に発生します。プログラムが込み入ってきたり、複雑にヒープメモリを確保した場合など、うっかりdeleteし忘れる事があります。これはプログラムが複雑になってくるほど探すのが困難になります。 Visual C++にはデバッグ時にメモリリークを自動検出する機能が備わっています。この章ではその方法を紹介します。 ① メモリリーク検出方法 Visual C++のランタイムライブラリには「デバッグルーチン」と呼ばれるデバッグ専用の関数が沢山用意されています。その中でメモリリークを検出してくれるのは_CrtSetDbgFlag関数で

    urza358
    urza358 2014/05/29
  • SQLite超入門編

    ホーム < ゲームつくろー! < SQLite超入門編 SQLite超入門編 SQLiteはデータベースを扱うライブラリです。「おお、データベースかぁ。ん~なるほど・・・」と最初に声を挙げた後、「…で何をどうするの?」。私はそうでした。もし私と同じ感覚をお持ちであれば、一緒にSQLiteを0から始めてみましょう。執筆時点で私もSQLiteについての知識は0です。インストールの方法すら知りません。だからこそ出来る「SQLite超入門」。始めますよ~。

  • ファイルをメモリのように「メモリマップドファイルクラス」

    ホーム < ゲームつくろー! < クラス構築編 < ファイルをメモリのように「メモリマップドファイルクラス」 ファイルをメモリのように「メモリマップドファイルクラス」 メモリ空間とファイル空間。Windowsの場合双方ともデータの置き方は一緒です(リトルエンディアン方式)。しかし双方には実質的な違いがあります。メモリはアドレスを持ち、ポインタを通してアクセスできます。しかしファイルはアドレスを持ちません。よってポインタもありません。同じようなデータ格納方法を持ちながら、メモリとファイルとはアクセス方法の互換性が無いんです。 そこで登場するのが「メモリマップドファイル」です。これを用いると、何と何とファイルをメモリと全く同様な方法でアクセスできるようになります。この章では、まずこの非常に魅力的なメモリマップドファイルについて見ていき、もっともっと使いやすくするために「メモリマップドファイルク

  • charとUnicodeとワイド文字をごっちゃにしないために

    ホーム < ゲームつくろー! < C++踏み込み編 < charとUnicodeとワイド文字をごっちゃにしないために その4 charとUnicodeとワイド文字をごっちゃにしないために Visual Studio 2003あたりになってから、ちらほらと出てきたのが「Unicode」や「ワイド文字」という言葉。DirectXでもたびたびこれに苦しめられたりします。どうも世の中従来の1バイト文字からUnicodeへ過渡しそうな気配です。これらの文字の仕様については色々なサイトや辞書に詳しく説明されています。しかし、しっかりまとめないとやっぱり混乱してしまうもんなんです。「バイト文字をUnicodeに変換するのと、マルチバイト文字をワイド文字に変換するのは何が違うのか?」と聞かれたときに、すっと回答できますでしょうか?できる方はすばらしい。迷った方も大丈夫。世の中そんなもんです。 ここでは、c

  • その6 HTML Help Workshopでヘルプファイルを作ろう

    ホーム < ゲームつくろー! < Programming TIPs編 < HTML Help Workshopでヘルプファイルを作ろう その6 HTML Help Workshopでヘルプファイルを作ろう ライブラリを作成する時に、実は重要な要素になるのが「ヘルプファイル」です。自分が作成したプログラムも、3ヶ月も経てば他人のプログラム。すっかり忘れてしまうもんです。何らかの形でライブラリ化しておかないと、いつまで経っても「資産」が積もっていきません。ヘルプファイルは面倒でもやっぱり作るに越した事はありません。ヘルプファイルのフォーマットはHTMLファイルが今のところ最も適していると思います。ただ、欲を言えばDirectXのヘルプファイルのように目次があったり、Indexがあったり、全文検索なんかやってくれたりすると利便性が非常に高まるわけです。 それを実現するヘルプファイルを作成してくれ

  • 1