<?xml version="1.0" encoding="UTF-8" ?> <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C/C++</title><link>http://blogs.wankuma.com/ch3cooh/category/1569.aspx</link><description>C/C++関係の日記です。 </description><managingEditor>CH3COOH(酢酸)</managingEditor><dc:language>ja-JP</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>CH3COOH(酢酸)</dc:creator><title>[日常][C/C++][VB]VBでこんな書き方出来るの？</title><link>http://blogs.wankuma.com/ch3cooh/archive/2009/01/14/166323.aspx</link><pubDate>Wed, 14 Jan 2009 01:27:00 GMT</pubDate><guid>http://blogs.wankuma.com/ch3cooh/archive/2009/01/14/166323.aspx</guid><wfw:comment>http://blogs.wankuma.com/ch3cooh/comments/166323.aspx</wfw:comment><comments>http://blogs.wankuma.com/ch3cooh/archive/2009/01/14/166323.aspx#Feedback</comments><slash:comments>20</slash:comments><wfw:commentRss>http://blogs.wankuma.com/ch3cooh/comments/commentRss/166323.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/ch3cooh/services/trackbacks/166323.aspx</trackback:ping><description>&lt;p&gt;お仕事中の雑談でのお話です。&lt;br&gt;Twitterでもこんな事出来るの？って相談していた件ですｗ&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;先輩「C言語ってこんな感じで、ループを使って(memsetを使ってもいいんだけど)&lt;br&gt;最終的にstr1とstr2は”cccc”を指すような書き方出来るやん？」&lt;/p&gt; &lt;p&gt; &lt;p&gt; &lt;div class="wlWriterEditableSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:0d4a8142-f3d1-4235-85c6-916217c2a200" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre name="code" class="c"&gt; char str1[] = "aaaa";
 char str2[] = "bbbb";

 char** array[] = {&amp;amp;str1, &amp;amp;str2};
 for (int i=0; i&amp;lt;2; i++)
 {
  *array[i] = "cccc";
 }

 printf("%s", str1);  // "cccc"が表示される事を期待
 printf("%s", str2);  // "cccc"が表示される事を期待
&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;先輩「↑みたいなイメージでVBでもコード書けるん？」&lt;/p&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:ffb7bfe9-f851-4213-92d0-e6e4239e06ad" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre name="code" class="vb"&gt; Dim str1 As String = "aaaa"
 Dim str2 As String = "bbbb"

 Dim array() As XXXXX = {str1, str2}
 For i As Integer = 0 to array.Length - 1
  ' なんらかしらの処理
  array(i) = "cccc"
 Next i

 Console.WriteLine(str1) ' "cccc"が表示される事を期待
 Console.WriteLine(str2) ' "cccc"が表示される事を期待 
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;僕「出来ると思いますけど・・・・うーん？」&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;……ってな感じで、&lt;br&gt;配列に変数を突っ込んでその変数を配列から取り出すことなく&lt;br&gt;目的の"ccccc"を表示出来るのかなぁ……と悶々としてましたｗｗ&lt;/p&gt;
&lt;p&gt;やっぱりTwitterだとイメージを伝えにくいですね。&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/ch3cooh/aggbug/166323.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>CH3COOH</dc:creator><title>[C/C++][日常]PSPはシンプルになりましたね</title><link>http://blogs.wankuma.com/ch3cooh/archive/2008/10/03/158118.aspx</link><pubDate>Fri, 03 Oct 2008 21:59:00 GMT</pubDate><guid>http://blogs.wankuma.com/ch3cooh/archive/2008/10/03/158118.aspx</guid><wfw:comment>http://blogs.wankuma.com/ch3cooh/comments/158118.aspx</wfw:comment><comments>http://blogs.wankuma.com/ch3cooh/archive/2008/10/03/158118.aspx#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://blogs.wankuma.com/ch3cooh/comments/commentRss/158118.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/ch3cooh/services/trackbacks/158118.aspx</trackback:ping><description>&lt;p&gt;&lt;a href="http://blogs.wankuma.com/izmktr/archive/2008/10/03/158115.aspx"&gt;[PSP]雛型の旅立ち&lt;/a&gt; で出水さんがPSP用の雛形を公開されていました。&lt;/p&gt; &lt;p&gt;僕がPSPで自作ゲームを作っていた時は、startup.sからmain()を呼び出してたものです。&lt;br&gt;PSPDevの現状をよく知らないのですが、PSPのSDKとかあるのかなぁ……&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;昔のブログのデータが残っているので、探した所それっぽいコードが出て来ました。多分C？&lt;br&gt; &lt;div class="wlWriterEditableSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:d78b280b-5931-469f-9747-ddf27aa94549" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre name="code" class="c"&gt;/*****************************************************/
/* @function : draw_rect()                           */
/* @note     : VRAMに矩形を描画する                  */
/*****************************************************/
void draw_rect(int startx, int starty, int targetx, int targety, int color)
{
	unsigned short *vram_ptr, *write_ptr;
	int loop_x, loop_y;

	pspDisplaySetFrameBuf(pg_vramtop, LINESIZE, PIXELSIZE, 1);

	/* 先頭画像を求める */
	vram_ptr = (unsigned short *)(pg_vramtop + 0x40000000 + ((starty * LINESIZE + startx) * 2));

	loop_y = targety;
	while (loop_y--)
	{
		write_ptr = vram_ptr;

		loop_x = targetx;
		while (loop_x--)
		{
			*write_ptr++ = color;
		}
		
		vram_ptr += (LINESIZE);
	}
}
&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;このコードは確かダブルバッファを使わずに、VRAMに1ドットずつ書いていったので、&lt;br&gt;矩形が1行ずつ描画される様が見えて、興奮していた記憶があります。&lt;br&gt;&lt;/p&gt;
&lt;p&gt;ところでPSPって今どんなデバッグ環境で開発されているんだろう？&lt;br&gt;きっと出水さんは、&lt;a href="http://nil.rpc1.org/psp/remote.html"&gt;PSP Remote&lt;/a&gt; みたいなハードを使ってデバッグしているに違いない。&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/ch3cooh/aggbug/158118.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>CH3COOH</dc:creator><title>[C/C++]三項演算子は上から評価されてた！</title><link>http://blogs.wankuma.com/ch3cooh/archive/2008/09/02/155248.aspx</link><pubDate>Tue, 02 Sep 2008 20:40:00 GMT</pubDate><guid>http://blogs.wankuma.com/ch3cooh/archive/2008/09/02/155248.aspx</guid><wfw:comment>http://blogs.wankuma.com/ch3cooh/comments/155248.aspx</wfw:comment><comments>http://blogs.wankuma.com/ch3cooh/archive/2008/09/02/155248.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.wankuma.com/ch3cooh/comments/commentRss/155248.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/ch3cooh/services/trackbacks/155248.aspx</trackback:ping><description>&lt;p&gt;&lt;a href="http://blogs.wankuma.com/rti/archive/2008/09/02/155189.aspx"&gt;三項演算子は上から評価される&lt;/a&gt;&lt;/p&gt; &lt;p&gt;え……マジで？、と思ってやってみました。&lt;/p&gt; &lt;p&gt; &lt;div class="wlWriterSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:c807680b-6347-437c-9622-42a7cc1b1c58" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre name="code" class="c"&gt;	char* pStr = 0;

	int i = 1;
	pStr =  i==1 ? "one" : 
			i==2 ? "two" :
			i==3 ? "three" :
			i==1 ? "一" : "一杯";

	printf("%s", pStr);&lt;/pre&gt;&lt;/div&gt;&lt;br&gt;わっ、本当だ。"one"って表示されてる。&lt;/p&gt;
&lt;p&gt;何重にも三項演算子(条件演算子？)を使うと、可読性が急激に落ちるので、&lt;br&gt;
&lt;div class="wlWriterSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:3e0fc705-3d63-44a3-b4fa-c26fc65aeb55" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre name="code" class="c"&gt;return bIsHoge ? SUCCESS: FALIED;&lt;/pre&gt;&lt;/div&gt;&lt;br&gt;こんな使い方しかしたことないけど、漠然と内側から評価されるのかと思ってました。&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &lt;p&gt;……ん？あれ？内側？&lt;br&gt;コードを内側から展開してみました。
&lt;div class="wlWriterSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:69de279b-8886-4654-8cc3-e951a2825946" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre name="code" class="c"&gt;	pStr =  i==1 ? "one" :(i==2 ? "two" :(i==3 ? "three":(i==1 ? "一" : "一杯")));
	
	pStr =  i==1 ? "one" :(i==2 ? "two" :(i==3 ? "three": "一"));

	pStr =  i==1 ? "one" :(i==2 ? "two" : "一");

	pStr =  i==1 ? "one" : "一";

	pStr =  "one";&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;あれれ？結局、"one"が吐かれるじゃ？&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;なんだか納得が行かなかったので、アセンブラコードを見てみました。&lt;br&gt;
&lt;div class="wlWriterSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:4330c97b-3dbe-4a3b-98d7-c8aeb5d693a6" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre name="code" class="c"&gt;	pStr =  i==1 ? "one" :(i==2 ? "two" :(i==3 ? "three":(i==1 ? "一" : "一杯")));
004135EC  cmp         dword ptr [i],1 
004135F0  jne         wmain+3Eh (4135FEh) 
004135F2  mov         dword ptr [ebp-0DCh],offset string "one" (415754h) 
004135FC  jmp         wmain+0A2h (413662h) 
004135FE  cmp         dword ptr [i],2 
00413602  jne         wmain+50h (413610h) 
00413604  mov         dword ptr [ebp-0E0h],offset string "two" (415750h) 
0041360E  jmp         wmain+96h (413656h) 
00413610  cmp         dword ptr [i],3 
00413614  jne         wmain+62h (413622h) 
00413616  mov         dword ptr [ebp-0E4h],offset string "three" (4157B8h) 
00413620  jmp         wmain+8Ah (41364Ah) 
00413622  cmp         dword ptr [i],1 
00413626  jne         wmain+74h (413634h) 
00413628  mov         dword ptr [ebp-0E8h],offset string "\x88\xea" (415748h) 
00413632  jmp         wmain+7Eh (41363Eh) 
00413634  mov         dword ptr [ebp-0E8h],offset string "\x88\xea\x94t" (415740h) 
0041363E  mov         eax,dword ptr [ebp-0E8h] 
00413644  mov         dword ptr [ebp-0E4h],eax 
0041364A  mov         ecx,dword ptr [ebp-0E4h] 
00413650  mov         dword ptr [ebp-0E0h],ecx 
00413656  mov         edx,dword ptr [ebp-0E0h] 
0041365C  mov         dword ptr [ebp-0DCh],edx 
00413662  mov         eax,dword ptr [ebp-0DCh] 
00413668  mov         dword ptr [pStr],eax &lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;おぉ、本当だ。"one"から評価されてる！納得出来たっ！！
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;どうでも良い話ですが、&lt;br&gt;
&lt;div class="wlWriterSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:c088e867-9c6b-424e-b05a-c81d853ea4e3" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre name="code" class="c"&gt;pStr char* = 0&lt;/pre&gt;&lt;/div&gt;&lt;br&gt;って書いてしまった僕はもう立派なVB脳。&lt;br&gt;あ、セミコロンも付けれなくなってました。&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/ch3cooh/aggbug/155248.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>CH3COOH</dc:creator><title>[C/C++]コードの静的解析をするのです</title><link>http://blogs.wankuma.com/ch3cooh/archive/2008/05/14/137715.aspx</link><pubDate>Wed, 14 May 2008 22:07:00 GMT</pubDate><guid>http://blogs.wankuma.com/ch3cooh/archive/2008/05/14/137715.aspx</guid><wfw:comment>http://blogs.wankuma.com/ch3cooh/comments/137715.aspx</wfw:comment><comments>http://blogs.wankuma.com/ch3cooh/archive/2008/05/14/137715.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blogs.wankuma.com/ch3cooh/comments/commentRss/137715.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/ch3cooh/services/trackbacks/137715.aspx</trackback:ping><description>&lt;P&gt;弊社では静的解析ツールがありません。&lt;/P&gt;
&lt;P&gt;毎回毎回クライアントに静的解析をお願いして解析結果を頂いています。当然ながら、クライアントに依頼しなければいけないので、&lt;STRONG&gt;任意のタイミングで静的解析をかける事が出来ません。&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;予算的な問題で稟議が通るとは思えないので、無料のモノを探していると &lt;A href="http://splint.org/download.html"&gt;splint&lt;/A&gt;　なるツールが良いよって書いてるwikiを見つけました。lintクローンらしくクオリティについてはお墨付きとか。 
&lt;P&gt; 
&lt;P&gt;君は「これを使おうYO!!」と提案するのもいいし、自分のチームだけで使ってもいい。&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/ch3cooh/aggbug/137715.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>CH3COOH(酢酸)</dc:creator><title>[WMP]Windows Media Player用の視覚エフェクト(Visualizer)を作ってみるテスト(5)</title><link>http://blogs.wankuma.com/ch3cooh/archive/2008/03/29/130393.aspx</link><pubDate>Sat, 29 Mar 2008 10:34:00 GMT</pubDate><guid>http://blogs.wankuma.com/ch3cooh/archive/2008/03/29/130393.aspx</guid><wfw:comment>http://blogs.wankuma.com/ch3cooh/comments/130393.aspx</wfw:comment><comments>http://blogs.wankuma.com/ch3cooh/archive/2008/03/29/130393.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/ch3cooh/comments/commentRss/130393.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/ch3cooh/services/trackbacks/130393.aspx</trackback:ping><description>本記事は、「&lt;a href="http://ch3cooh.jp/wmp/create-visualizer-for-windows-media-player/"&gt;Windows Media Player用の視覚エフェクト(Visualizer)を作る&lt;/a&gt;」へ転記しました。&lt;img src ="http://blogs.wankuma.com/ch3cooh/aggbug/130393.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>CH3COOH</dc:creator><title>[C/C++]フォントをリソースに埋め込んで使用する方法</title><link>http://blogs.wankuma.com/ch3cooh/archive/2008/03/26/129704.aspx</link><pubDate>Wed, 26 Mar 2008 08:04:00 GMT</pubDate><guid>http://blogs.wankuma.com/ch3cooh/archive/2008/03/26/129704.aspx</guid><wfw:comment>http://blogs.wankuma.com/ch3cooh/comments/129704.aspx</wfw:comment><comments>http://blogs.wankuma.com/ch3cooh/archive/2008/03/26/129704.aspx#Feedback</comments><slash:comments>38</slash:comments><wfw:commentRss>http://blogs.wankuma.com/ch3cooh/comments/commentRss/129704.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/ch3cooh/services/trackbacks/129704.aspx</trackback:ping><description>&lt;p&gt;PDFみたくdllにフォントを埋め込んで、ユーザがそのフォントをインストールしていなくっても使いたいんだけど、ぐぐっても出てこないなぁ。。。今日帰ったらちゃんと探そう。。。&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/ch3cooh/aggbug/129704.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>CH3COOH</dc:creator><title>[WMP][C/C++]DLLは自分自身のリソースを使う事が出来ないのでしょうか？(解決編)</title><link>http://blogs.wankuma.com/ch3cooh/archive/2008/03/23/129184.aspx</link><pubDate>Sun, 23 Mar 2008 09:35:00 GMT</pubDate><guid>http://blogs.wankuma.com/ch3cooh/archive/2008/03/23/129184.aspx</guid><wfw:comment>http://blogs.wankuma.com/ch3cooh/comments/129184.aspx</wfw:comment><comments>http://blogs.wankuma.com/ch3cooh/archive/2008/03/23/129184.aspx#Feedback</comments><slash:comments>497</slash:comments><wfw:commentRss>http://blogs.wankuma.com/ch3cooh/comments/commentRss/129184.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/ch3cooh/services/trackbacks/129184.aspx</trackback:ping><description>&lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.wankuma.com/ch3cooh/archive/2008/03/23/129183.aspx"&gt;[WMP][C/C++]DLLは自分自身のリソースを使う事が出来ないのでしょうか？&lt;/a&gt;の続き。  &lt;p&gt;いざエントリを投稿しようとして、ざっくりと見返していたら、なんでGetModuleHandle()の引数はNULLなん？と疑問を感じて、MSDNを紐解いてみました。&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;a href="http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpdllpro/html/_win32_getmodulehandle.asp"&gt;GetModuleHandle&lt;/a&gt;&lt;br&gt;呼び出し側プロセスのアドレス空間に該当ファイルがマップされている場合、指定されたモジュール名のモジュールハンドルを返します。&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;HMODULE GetModuleHandle(&lt;br&gt;&amp;nbsp; LPCTSTR lpModuleName&amp;nbsp;&amp;nbsp; // モジュール名&lt;br&gt;);&lt;br&gt;lpModuleName&lt;br&gt;NULL を指定すると、呼び出し側プロセスの作成に使われたファイルのハンドルが返ります。&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;゜&amp;nbsp;&amp;nbsp; ゜ (&amp;nbsp; д&amp;nbsp; )ﾎﾟｶｰﾝ&lt;br&gt;呼び出し側プロセスって、Windows Media Playerじゃまいか。 &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;GetModuleHandle()の引数に、自前のDLL名を指定すれば良さそうです。拡張子を略した場合「.dll」が付与されるらしいので、"sample"とだけ指定しておきます。&lt;br&gt; &lt;div class="wlWriterSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:8ff4a0ae-3bc6-4eda-bbf1-803c79b23eb4" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre name="code" class="c"&gt;//  HINSTANCE hInstance = ::GetModuleHandle(NULL);
  HINSTANCE hInstance = ::GetModuleHandle("sample");
  HBITMAP hBmp= LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_BITMAP1));
  if(!hBmp)
  {
    //hBmpがNULLであればエラーメッセージを出力する
    OutputMessage(GetLastError());
  }&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;これでようやくhBmpの値を取得する事が出来ました。かれこれ1週間位これで悩んでいましたよ(´；ω；｀) &lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/ch3cooh/aggbug/129184.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>CH3COOH</dc:creator><title>[WMP][C/C++]DLLは自分自身のリソースを使う事が出来ないのでしょうか？</title><link>http://blogs.wankuma.com/ch3cooh/archive/2008/03/23/129183.aspx</link><pubDate>Sun, 23 Mar 2008 09:25:00 GMT</pubDate><guid>http://blogs.wankuma.com/ch3cooh/archive/2008/03/23/129183.aspx</guid><wfw:comment>http://blogs.wankuma.com/ch3cooh/comments/129183.aspx</wfw:comment><comments>http://blogs.wankuma.com/ch3cooh/archive/2008/03/23/129183.aspx#Feedback</comments><slash:comments>44</slash:comments><wfw:commentRss>http://blogs.wankuma.com/ch3cooh/comments/commentRss/129183.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/ch3cooh/services/trackbacks/129183.aspx</trackback:ping><description>&lt;p&gt;エフェクト名も難なく変える事が出来たので、次は絵を表示させてみようと思いました。リソースからのBMPをロードした事が無いので、早速ゲイツに聞いてみます。  &lt;p&gt;サンプルコードを参考に、CSample::Render()にリソースID「IDB_BITMAP1」の画像をロードするようなコードを書きました。  &lt;p&gt;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:67a62e2b-6f35-44eb-a78b-83ab4f4e7717" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre name="code" class="c"&gt;  HINSTANCE hInstance = ::GetModuleHandle(NULL);
  HBITMAP hBmp= LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_BITMAP1));
  if(!hBmp)
  {
    //hBmpがNULLであればエラーメッセージを出力する
    OutputMessage(GetLastError());
  }&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;これで取得したhBmpを素直に描画してやればいいやなんて思ってましたが、実際実行してみるとhBmpはNULLで返ってきてしまいます。 
&lt;p&gt;覚えたてのエラーメッセージ取得技を使ってみると、エラーメッセージは「指定されたリソースの種類がイメージファイルに見つかりません。」です。&lt;br&gt;Σ('д'；)な、なんやってー!? 
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;プロジェクト内を「IDB_BITMAP1」で検索したら定義はちゃんとあります。&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:0c270568-6db4-4e65-b8e9-b4cb568f90eb" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre name="code" class="c"&gt;#define IDB_BITMAP1                     201
IDB_BITMAP1             BITMAP  DISCARDABLE     "bitmap1.bmp"&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;リソースエディタでBITMAPを追加して、ビルドが走ってるのも確認してるので問題は無いかと思うんだけど……何がおかしいのでしょうか？教えて偉い人！！&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;……と、ここまで書いたけど、自己解決しました。(解決編へ続きます。) &lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/ch3cooh/aggbug/129183.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>CH3COOH</dc:creator><title>[C/C++]なんとエラーメッセージが取得出来た</title><link>http://blogs.wankuma.com/ch3cooh/archive/2008/03/22/129144.aspx</link><pubDate>Sat, 22 Mar 2008 21:35:00 GMT</pubDate><guid>http://blogs.wankuma.com/ch3cooh/archive/2008/03/22/129144.aspx</guid><wfw:comment>http://blogs.wankuma.com/ch3cooh/comments/129144.aspx</wfw:comment><comments>http://blogs.wankuma.com/ch3cooh/archive/2008/03/22/129144.aspx#Feedback</comments><slash:comments>523</slash:comments><wfw:commentRss>http://blogs.wankuma.com/ch3cooh/comments/commentRss/129144.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/ch3cooh/services/trackbacks/129144.aspx</trackback:ping><description>&lt;P&gt;&lt;STRONG&gt;WIN32APIで処理に失敗した後にGetLastError()を使いなさい&lt;/STRONG&gt;とは、リファレンスに書かれていたので知っていたのですが、&lt;STRONG&gt;数字(ID)だけ見ても何もわかんねーYO!!&lt;/STRONG&gt;と思っていました。 
&lt;P&gt;今日たまたま知ったのですが、GetLastError()で取得したIDからエラーメッセージを取得する方法があったみたいで早速使ってみました。 
&lt;P&gt;
&lt;DIV class=wlWriterSmartContent id=scid:812469c5-0cb0-4c63-8c15-c81123a09de7:84b433a7-d8bb-415b-abc4-7232b5efb205 style="PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; FLOAT: none; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"&gt;&lt;PRE class=c name="code"&gt;static inline void OutputMessage(DWORD dwMessageId)
{
  LPTSTR lpBuffer = NULL;
  FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
                NULL, GetLastError(), LANG_USER_DEFAULT, 
                (LPTSTR)&amp;amp;lpBuffer, 0, NULL );
  MessageBox(NULL, lpBuffer, "Last Error Message", MB_ICONHAND|MB_OK);
  LocalFree(lpBuffer);
}&lt;/PRE&gt;&lt;/DIV&gt;
&lt;P&gt;を実行すると、、、 
&lt;P&gt;&amp;nbsp;
&lt;P&gt;&lt;A href="http://ch3cooh.wankuma.com/dialy/img/C_12E82/0c754e7f425f.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=133 alt="新規ビットマップ イメージ" src="http://ch3cooh.wankuma.com/dialy/img/C_12E82/_thumb.png" width=387 border=0&gt;&lt;/A&gt; 
&lt;P&gt;おぉー。ちゃんとエラーメッセージが表示されてるよ！ &lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/ch3cooh/aggbug/129144.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>CH3COOH</dc:creator><title>[C/C++]なんというか仕様が満たせなかったので仕方がなったのですよ</title><link>http://blogs.wankuma.com/ch3cooh/archive/2008/03/05/126461.aspx</link><pubDate>Wed, 05 Mar 2008 22:52:00 GMT</pubDate><guid>http://blogs.wankuma.com/ch3cooh/archive/2008/03/05/126461.aspx</guid><wfw:comment>http://blogs.wankuma.com/ch3cooh/comments/126461.aspx</wfw:comment><comments>http://blogs.wankuma.com/ch3cooh/archive/2008/03/05/126461.aspx#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://blogs.wankuma.com/ch3cooh/comments/commentRss/126461.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/ch3cooh/services/trackbacks/126461.aspx</trackback:ping><description>&lt;p&gt;&lt;a href="http://blogs.wankuma.com/myugaru/archive/2008/03/05/126447.aspx"&gt;なんか白熱してますが＾＾；&lt;/a&gt;  &lt;p&gt;を見て、ついつい昔を思い出しました。 とある組込み機器での開発をしていた時の話です。 &lt;p&gt;関数funcBをCOUNT回分コールする関数funcAがありました。&lt;br&gt;仕様上、これを2～3ms削らないといけなくて、  &lt;p&gt;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:b65035fa-f9c7-41d1-8bb1-1d1c376e1ad2" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre name="code" class="c"&gt;void funcA(void)
{
	for (int i = 0; i &amp;lt; COUNT; i++)
	{
	    funcB();
	}
}&lt;/pre&gt;&lt;/div&gt;&lt;br&gt;を&lt;br&gt;
&lt;div class="wlWriterSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:2f809f76-cbc2-4b8b-9fb1-2f7520bd99bb" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre name="code" class="c"&gt;void funcA(void)
{
	funcB();
	funcB();
	(ｒｙ
	funcB();
	funcB();
}&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;みたいにfor文を使わない様に書いた事があります(本当はもっと複雑な処理をしてましたので飽くまでもイメージです)。&lt;/p&gt;
&lt;p&gt;2～3msよか、もっと削れて結構効果が大きかった気がしますが、もう昔の事なので結果まで覚えてないです。&lt;/p&gt;
&lt;p&gt;今だったらもう少しマシな解決策を提示出来ると思いますが、若さゆえのなんとやらでした……&lt;/p&gt;
&lt;p&gt;......&lt;br&gt;:.... . ∧∧　 　∧∧　　∧∧　 　∧∧　.... .... ..　.:.... .... ..... .... ..　.&lt;br&gt;... ..:（　　 ）ゝ （　　 ）ゝ（　　 ）ゝ（　　 ）ゝ無茶しやがって… ..........&lt;br&gt;....　 i⌒　/ 　 i⌒　/ 　i⌒　/ 　 i⌒　/　..　..... ................... ..　.　...&lt;br&gt;.. 　 三　 | 　 三　 | 　 三　 | 　 三　|　　... ............. ...........　.　.....&lt;br&gt;...　 ∪ ∪ 　 ∪ ∪ 　 ∪ ∪ 　∪ ∪　............. ............. ..　........　...&lt;br&gt;　　三三　　三三　　三三　　　三三&lt;br&gt;　三三　　三三　　三三　　　三三 &lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/ch3cooh/aggbug/126461.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>