俺のSDKメモ帳
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/10/12(木) 00:29:100002デフォルトの名無しさん
2006/10/12(木) 00:33:06ttp://www.kumei.ne.jp/c_lang/sdk/sdk_75.htm
ttp://www.kumei.ne.jp/c_lang/sdk/sdk_76.htm
0003デフォルトの名無しさん
2006/10/12(木) 00:40:5000041 ◆ndPRHgSmvk
2006/10/12(木) 00:42:44WH_GETMESSAGEでのフックで足掻いてみたけど
投げられたコントロールがどれかわからない事に気づいて諦めた。
今日のメモ
/* LPARAMに追加文字列 */
SendMessage(HWND, CB_ADDSTIRNG, 0L, String);
/* 戻り値がインデックスになる */
SendMessage(HWND, CB_GETCURSEL, 0L, 0L);
/* LPARAMにアイテムのインデックスを */
SendMessage(HWND, CB_SETCURSEL, 0L, index);
/* WPARAMにインデックスをLPARAMに格納文字列バッファを */
SendMessage(HWND, CB_GETLBTEXT, index, strBuffer);
/* ハンドルを指定するだけ */
SendMessage(HWND, CB_RESETCONTENT, 0L, 0L);
00051 ◇ndPRHgSmvk
2006/10/12(木) 00:46:530006デフォルトの名無しさん
2006/10/12(木) 02:46:24. 〃 ヽル1'´ ∠:::::::::::::::::i
i′ ___, - ,. = -一  ̄l:::::::::::::::l
. ! , -==、´r' l::::::/,ニ.ヽ
l _,, -‐''二ゝ l::::l f゙ヽ |、 ここはお前の日記帳じゃねえんだ
レー-- 、ヽヾニ-ァ,ニ;=、_ !:::l ) } ト
ヾ¨'7"ry、` ー゙='ニ,,,` }::ヽ(ノ チラシの裏にでも書いてろ
:ーゝヽ、 !´ " ̄ 'l,;;;;,,,.、 ,i:::::::ミ
::::::::::::::::ヽ.-‐ ト、 r'_{ __)`ニゝ、 ,,iリ::::::::ミ
::::::::::::::::::::Vi/l:::V'´;ッ`ニ´ー-ッ-,、:::::`"::::::::::::::;゙ , な!
:::::::::::::::::::::::::N. ゙、::::ヾ,.`二ニ´∠,,.i::::::::::::::::::::///
:::::::::::::::::::::::::::::l ヽ;:::::::::::::::::::::::::::::::::::::::::::/ /
::::::::::::::::::::::::::::::! :|.\;::::::::::::::::::::::::::::::/ /
0007デフォルトの名無しさん
2006/10/12(木) 18:49:130008デフォルトの名無しさん
2006/10/12(木) 22:41:27たしかぺゾルト読んでます、みたいなスレ
定期的に立つ話題なのかね
0009デフォルトの名無しさん
2006/10/12(木) 23:36:02http://isreg.www.infoseek.co.jp/isweb/register/enter.cgi
メモ長に使うなら、2chよりも断然いいぞ
00101 ◆ndPRHgSmvk
2006/10/12(木) 23:45:39VOID SelectDuduction(LTG_HWND hControl)
{
CHAR chSort[3][256];
LRESULT index;
SHORT i, j;
/* コンボボックスリセット */
for(i = 0; i < 3; i++)
{
index = SendMessage(hControl->hSort[i], CB_GETCURSEL, 0L, 0L);
SendMessage(hControl->hSort[i], CB_GETLBTEXT, (WPARAM)index, (LPARAM)&chSort[i][0]);
SendMessage(hControl->hSort[i], CB_RESETCONTENT, 0L, 0L);
SendMessage(hControl->hSort[i], CB_ADDSTRING, 0L, (LPARAM)g_SortPull[0]);
}
00111 ◆ndPRHgSmvk
2006/10/12(木) 23:46:10for(i = 0; i < 3; i++)
{
switch(i)
{
case 0:
for(j = 1; j < DFSORT_VAL; j++)
{
if(lstrcmp(g_SortPull[j], &chSort[1][0]) != 0 &&
lstrcmp(g_SortPull[j], &chSort[2][0]) != 0)
{
SendMessage(hControl->hSort[i], CB_ADDSTRING, 0L, (LPARAM)g_SortPull[j]);
}
}
break;
case 1:
for(j = 1; j < DFSORT_VAL; j++)
{
if(lstrcmp(g_SortPull[j], &chSort[0][0]) != 0 &&
lstrcmp(g_SortPull[j], &chSort[2][0]) != 0)
{
SendMessage(hControl->hSort[i], CB_ADDSTRING, 0L, (LPARAM)g_SortPull[j]);
}
}
break;
00121 ◆ndPRHgSmvk
2006/10/12(木) 23:47:00for(j = 1; j < DFSORT_VAL; j++)
{
if(lstrcmp(g_SortPull[j], &chSort[0][0]) != 0 &&
lstrcmp(g_SortPull[j], &chSort[1][0]) != 0)
{
SendMessage(hControl->hSort[i], CB_ADDSTRING, 0L, (LPARAM)g_SortPull[j]);
}
}
break;
default:;
}
/* 選択文字列インデックス検索 */
index = SendMessage(hControl->hSort[i], CB_FINDSTRING, 0L, (LPARAM)&chSort[i][0]);
/* プルダウン項目セット */
SendMessage(hControl->hSort[i], CB_SETCURSEL, (WPARAM)index, 0L);
}
return;
}
の超下手糞なコードを何とかしようと必死になって
00131 ◆ndPRHgSmvk
2006/10/12(木) 23:47:54{
CHAR chSort[3][256]; /* プルダウン選択項目一時格納バッファ */
LRESULT index; /* 選択項目インデックス */
SHORT i, j; /* ループカウンタ */
SHORT n, m; /* 配列の要素数 */
/* 初期化 */
n = 1;
m = 2;
/* コンボボックスリセット */
for(i = 0; i < DFLOOP_VAL; i++)
{
/* 選択されている項目のインデックスを取得 */
index = SendMessage(hControl->hSort[i], CB_GETCURSEL, 0L, 0L);
/* 選択されているプルダウンテキストをバッファに一時確保 */
SendMessage(hControl->hSort[i], CB_GETLBTEXT, (WPARAM)index, (LPARAM)&chSort[i][0]);
/* プルダウンオールリセット */
SendMessage(hControl->hSort[i], CB_RESETCONTENT, 0L, 0L);
/* 最初に"無し"だけプルダウンに追加 */
SendMessage(hControl->hSort[i], CB_ADDSTRING, 0L, (LPARAM)g_SortPull[0]);
}
/* コンボボックス再セット */
for(i = 0; i < DFLOOP_VAL; i++)
{
for(j = 1; j < DFSORT_VAL; j++)
{
00141 ◆ndPRHgSmvk
2006/10/12(木) 23:48:36if(lstrcmp(g_SortPull[j], &chSort[n & i ? 0 : n][0]) != 0 &&
lstrcmp(g_SortPull[j], &chSort[m & i ? 0 : m][0]) != 0)
{
/* j番目の項目をi番目のプルダウンリストに挿入 */
SendMessage(hControl->hSort[i], CB_ADDSTRING, 0L, (LPARAM)g_SortPull[j]);
}
}
/* 選択文字列インデックス検索 */
index = SendMessage(hControl->hSort[i], CB_FINDSTRING, 0L, (LPARAM)&chSort[i][0]);
/* プルダウン項目セット */
SendMessage(hControl->hSort[i], CB_SETCURSEL, (WPARAM)index, 0L);
}
}
少しだけスマートにする事に成功し喜びまくってた。
論理演算って魔術的な世界だなぁやっぱり。
00151 ◆ndPRHgSmvk
2006/10/12(木) 23:51:10ODBCのサンプルってそんなに落ちてないから手探り状態。
まだまだ時間がかかりそうだ
0016デフォルトの名無しさん
2006/10/12(木) 23:53:450017デフォルトの名無しさん
2006/10/12(木) 23:54:570018デフォルトの名無しさん
2006/10/12(木) 23:57:560019デフォルトの名無しさん
2006/10/13(金) 00:00:380020デフォルトの名無しさん
2006/10/13(金) 00:06:28無駄スペースを使わせたくないなら、議論のためのスレでないことは本人も宣言しているし、それを理由に削除依頼出すくらいだ。
0021デフォルトの名無しさん
2006/10/13(金) 00:12:110022デフォルトの名無しさん
2006/10/13(金) 00:15:450023デフォルトの名無しさん
2006/10/13(金) 00:19:330024デフォルトの名無しさん
2006/10/13(金) 00:22:0300251 ◆ndPRHgSmvk
2006/10/13(金) 00:31:13残念ながらそんなフィルタリングはしてないんだよ明智君
言いたい事や質問があるならなんなりと。
答えるところは答えてあげるよ。
0026デフォルトの名無しさん
2006/10/13(金) 00:31:180027デフォルトの名無しさん
2006/10/13(金) 01:00:30じゃあ質問!
なんでスレをチラ裏代わりにしてるんですか?
ローカルでWikiでも動かした方がいいんじゃないの?
0028デフォルトの名無しさん
2006/10/13(金) 01:03:35偉い俺様を披露できないから
0030デフォルトの名無しさん
2006/10/13(金) 01:10:010031デフォルトの名無しさん
2006/10/13(金) 01:28:120032デフォルトの名無しさん
2006/10/13(金) 01:33:25え!?恥さらしたいの間違いじゃ・・・
00341 ◆ndPRHgSmvk
2006/10/13(金) 01:45:300035デフォルトの名無しさん
2006/10/13(金) 03:13:360036デフォルトの名無しさん
2006/10/13(金) 03:54:410037デフォルトの名無しさん
2006/10/13(金) 04:52:080038デフォルトの名無しさん
2006/10/13(金) 09:57:100039デフォルトの名無しさん
2006/10/13(金) 16:06:2000401 ◆ndPRHgSmvk
2006/11/19(日) 19:47:0000411 ◆ndPRHgSmvk
2006/11/19(日) 19:47:410042デフォルトの名無しさん
2006/11/20(月) 17:34:0800431 ◆ndPRHgSmvk
2006/11/22(水) 01:04:04LPSTR Buffer;
hHeap = GetProcessHeap;
Buffer = (LPSTR)HeapAlloc(hHeap, HEAP_ZERO_MEMORY, size);
HeapFree(hHeap);
覚書
0044デフォルトの名無しさん
2006/11/23(木) 04:54:500046デフォルトの名無しさん
2006/11/23(木) 15:21:3500471 ◆ndPRHgSmvk
2006/11/23(木) 16:19:410048デフォルトの名無しさん
2006/11/23(木) 16:27:3200491 ◆ndPRHgSmvk
2006/11/23(木) 16:57:320050デフォルトの名無しさん
2006/11/23(木) 17:10:150051デフォルトの名無しさん
2006/11/23(木) 19:43:490052デフォルトの名無しさん
2006/11/23(木) 22:06:410053デフォルトの名無しさん
2006/11/24(金) 23:20:58あっ、んだorz
0054デフォルトの名無しさん
2006/12/24(日) 00:49:30ヤレ
0055デフォルトの名無しさん
2006/12/28(木) 14:00:01PC移行の際誤って全てのソースを削除してしまった
何年もかけて蓄積してきた全てのソースが
1からやり直しだぁ
0056デフォルトの名無しさん
2007/01/05(金) 18:50:10何年にも渡ってバックアップを取っていない点と、
PC移行という重大なシステム変更に際してもバックアップがない点で、
十分起きることが予想されていた結果だ。
また、2ちゃんは個人のデータのバックアップスペースではない。
パブリックな領域に置きたいというのなら、
無料のwebスペースはいろいろあるんだから、それを使うのが筋。
00571 ◆GqrOSDYjeQ
2007/01/14(日) 00:50:42/* リストボックスのインデックス取得 */
SendMessage(ハンドル, LB_GETCURSEL, 0, 0L);
/* リストボックスの文字列取得 */
SendMessage(ハンドル, LB_GETTEXT, 対象インデックス, バッファのポインタ);
そしてお前ら。あけましてどんなもんじゃーい!!
0058デフォルトの名無しさん
2007/01/15(月) 20:01:3100591 ◆GqrOSDYjeQ
2007/01/15(月) 21:00:51x.hは知ってるが俺は使わない派。人それぞれだろ
0060デフォルトの名無しさん
2007/01/15(月) 21:11:41今朝電車の中でみた日能研の問題に答えがなくてさ
なんか「答えはwebで!」的な事が書いてあんの
ふざけんなよと
00611 ◆GqrOSDYjeQ
2007/03/02(金) 00:56:5400621 ◆GqrOSDYjeQ
2007/03/26(月) 23:17:120063デフォルトの名無しさん
2007/03/28(水) 03:43:03Win32SDKのおべんきょ?
00641 ◆GqrOSDYjeQ
2007/03/28(水) 19:17:56SDKのお勉強さ
00651 ◆GqrOSDYjeQ
2007/03/28(水) 19:18:300066デフォルトの名無しさん
2007/03/29(木) 14:15:36MFC使わないんですか?
00671 ◆GqrOSDYjeQ
2007/03/29(木) 20:55:34MFCは使わないね。基本的にWindowsSDKで窓ってる
0068デフォルトの名無しさん
2007/03/29(木) 22:24:5600691 ◆GqrOSDYjeQ
2007/03/29(木) 22:29:490070デフォルトの名無しさん
2007/03/29(木) 23:11:130071デフォルトの名無しさん
2007/03/29(木) 23:14:2200721 ◆GqrOSDYjeQ
2007/03/29(木) 23:16:07足せばいい
00731 ◆GqrOSDYjeQ
2007/03/29(木) 23:17:0400741 ◆GqrOSDYjeQ
2007/04/12(木) 21:37:22もう保守ばっかで開発できねーし転職しようかな
0075デフォルトの名無しさん
2007/04/12(木) 22:30:49ってASPとかやってるん?windowsでじかにapi叩くような
仕事って少なそうだよね…なんとなく
00761 ◆GqrOSDYjeQ
2007/04/13(金) 00:53:11俺が唯一のWindowsSDKプログラミングできる奴だったりするし
それに皆俺のコード見て何の関数使ってるかわからないとか言うレベル
まあ逆に俺はMFCのクラスライブラリとかはあんましらないんだけどね
CFileとかCreateFile使えハゲがああああああとか思うたまに。
SDKも一長一短で開発効率はMFCの方がダントツにいいけどな
ただ、MFCはコアな事に対応できなかったりする。
0077デフォルトの名無しさん
2007/04/13(金) 07:42:38そのままコピペすりゃいいんで、楽というか、あんまり勉強にならないよ。
勉強なら、C以外の言語で無理にSDK開発するといい。
といってもC以外でwindowsでネイテブコード吐けるのはDELPHIくらいだけど
0078デフォルトの名無しさん
2007/04/13(金) 19:34:1700791 ◆GqrOSDYjeQ
2007/04/15(日) 00:46:35それともCreateThread派?
因みに前提条件としてスレッド内部は全てAPI関数で記述する事の時を想定してる
00801 ◆GqrOSDYjeQ
2007/04/15(日) 00:47:3000811 ◆GqrOSDYjeQ
2007/04/15(日) 00:50:55CreateThreadでやってる
排他制御はまともにやったことないからあれだけど
グローバルでのクリティカルセクション構造体使うよりOpenMutexでやったほうが
いいかもしれん。いやでも自動的に所有権が回ってくるまで待機してくれる
CriticalSectionのほうがいいかも。しるかボケwwwwwwwwwwwwwwwwww
0082デフォルトの名無しさん
2007/04/15(日) 01:57:0900831 ◆GqrOSDYjeQ
2007/04/19(木) 20:41:030084デフォルトの名無しさん
2007/04/20(金) 14:26:04処理が2つ重なるような物はあまり作らないようにしているし、
必要な時は、自らコントロールして行ったり来たりさせる。
00851 ◆GqrOSDYjeQ
2007/04/20(金) 22:01:21だが、Sleepとか制御がしばらく戻らない処理とかでスレッド半殺しになると
メインウィンドウが固まるからなるだけ子スレッドに仕事任せた方がいい場合もある。
それ以外はシングルスレッドでいいと思うがね。
WNetAddConnection何か使って別端末の監視なんかする場合
端末死んでると中々制御戻ってこなかったりするし。
0086デフォルトの名無しさん
2007/04/20(金) 22:13:31俺も昔はそういう考えだったけど、最近は積極的にマルチスレッドを使ってる。
方針を転向した理由としては次の二つ。
・近頃のコンピュータで時間がかかるのは主にファイルアクセスと通信
→別スレッドで処理するようにすればアプリがもっさりすることはない。
・近頃のCPUはマルチスレッドのほうが都合が効率よく動いてくれる。
特に前者の理由でシングルスレッドでやってた処理をマルチスレッドにすることで
劇的に処理速度を向上させることができた経験をしてからマルチスレッドを
積極的に使うようになった。
でも、なんだかんだでマルチスレッドにすればその分プログラムも複雑になるし
ヘマしちゃうと再現性の低い嫌なバグを生みやすくなるのも事実だけど。
008784
2007/04/22(日) 00:09:09タイマーを使ってメッセージを発生させて、
少し読んでOSに戻って、タイマーが発生したら
続きを少し読むみたいにしている。
OSに戻っている時に、読む以外の事、中断や終了処理をチェックする。
ウェイト関連はSleepは使わずに同じような感じで。
通信系はいろんな事をしないといけないから、
確かに自力で全てをやるのはしんどそう。
00881 ◆GqrOSDYjeQ
2007/05/03(木) 22:23:100089デフォルトの名無しさん
2007/05/04(金) 00:16:15じゃねぇよ
誰でもできるんだからやるんだよ
00901 ◆GqrOSDYjeQ
2007/05/04(金) 00:53:11お前は神だな
0091デフォルトの名無しさん
2007/05/05(土) 01:11:07_beginthreadex派はないですか
>>81
1プロセス内だけのことだったらなるべくクリティカルセクションにしている。
ミューテックスはカーネルオブジェクトだからコストが高くつくと聞いたもんで。
00921 ◆GqrOSDYjeQ
2007/05/05(土) 01:15:18ミューテックスはコスト高いのか。それは知らなかったな
ex系も_beginthreadと同じとして扱ってる。要はランタイム使うかAPI使うか
0093デフォルトの名無しさん
2007/05/05(土) 08:08:06そして_beginthread使おうが_beginthreadex使おうが、
特殊なケースではやっぱりリークするのな。
マルチスレッド使うなら素直にDLL版のCRT使うべきだと思う。
0094デフォルトの名無しさん
2007/05/05(土) 15:15:09そういう時こそメータード セクションですよ。
…いや、使ったことないんだけど。
00951 ◆GqrOSDYjeQ
2007/05/10(木) 20:58:11下記のソースにはバグがあるんだがそのバグを特定するのに
僕は5時間かかりましたwwwwwwwwおかげで今日仕事の大半をそれに費やしましたwwwwww
http://zetubou.mine.nu/itoshiki/nozomu/zetubou7241.c
特定してみるといい。俺はいい勉強になった今日
00961 ◆GqrOSDYjeQ
2007/05/10(木) 21:04:25SQLDecribeColとその後のSQLFetchの為の領域確保後の解放時。
0097デフォルトの名無しさん
2007/05/10(木) 21:58:30よーわからんがじゃないといけないとか?
00981 ◆GqrOSDYjeQ
2007/05/10(木) 22:16:348ビットCPUならいいんだが。
00991 ◆GqrOSDYjeQ
2007/05/10(木) 22:19:18この発見に狂喜乱舞していたwwwwww
0100デフォルトの名無しさん
2007/05/10(木) 23:30:0901011 ◆GqrOSDYjeQ
2007/05/15(火) 01:11:18会社にソースおいてきて今手元にないから明日公開するぜwwwwwwwww
0102デフォルトの名無しさん
2007/05/15(火) 01:22:3401031 ◆GqrOSDYjeQ
2007/05/16(水) 00:55:40忘れてたwwwwwwwwwwwwwwwwwww
01041 ◆GqrOSDYjeQ
2007/05/16(水) 00:56:440105デフォルトの名無しさん
2007/05/16(水) 01:07:5101061 ◆GqrOSDYjeQ
2007/05/16(水) 01:08:3401071 ◆GqrOSDYjeQ
2007/05/16(水) 21:22:40http://zetubou.mine.nu/itoshiki/nozomu/zetubou7379.zip
煮るなり焼くなり評価してくれ。
01081 ◆GqrOSDYjeQ
2007/05/17(木) 00:12:0401091 ◆GqrOSDYjeQ
2007/05/17(木) 00:18:080110デフォルトの名無しさん
2007/05/17(木) 00:31:29おやすみ。
0111デフォルトの名無しさん
2007/05/17(木) 15:16:320112デフォルトの名無しさん
2007/05/17(木) 22:01:11今時ODBCという根本の話を置けば。
01131 ◆GqrOSDYjeQ
2007/05/17(木) 23:41:55そこかよwwwwwwwwwwwww
>>112
今時のODBCについて教えてくれ。
手探りでの状態で作ったからコアな部分はわからん
01141 ◆GqrOSDYjeQ
2007/06/04(月) 20:33:0701151 ◆GqrOSDYjeQ
2007/06/04(月) 20:43:18やっと書き込めたぜwwwwwwwwwwwwwww
これだから○○は規制がよくかかる。
ところで最近マルチスレッドに目覚めた俺は必死こいて勉強してるんだが
同期が想像以上に難しくて四苦八苦してる。
例えばスレッドAがとある関数内処理で変数に値を代入し、
その変数を別スレッドBに渡す。そのスレッドBは渡された
変数の値をエディットボックスやら(まあなんでもいいが)で
使用したりするんだが、使用する前にスレッドAが処理してる関数が
終了してしまうと渡した変数の値も破棄されてしまい結果的におかしな値に
なってしまうというシングルスレッドじゃ普通ありえない現象が起こってしまう。
結果的に変数を静的にして対処するかWaitForSingleObject辺りで対処するかなんだが
後者を使用するとスレッドにした恩恵が余り得られないので結果的に静的変数に
してるんだが、他に対処法とかないのか誰か教えてくれwwwwwwwwww
0116デフォルトの名無しさん
2007/06/04(月) 20:49:3201171 ◆GqrOSDYjeQ
2007/06/04(月) 20:52:06動的確保でいけるか?
関数内のみでの変数って関数抜けるとスタックやらなんやら
低レベルなことは詳しくないが、その時点で破棄されるんじゃなかったっけ
正直そこまで俺様詳しくないんだwwwwwwwww
01181 ◆GqrOSDYjeQ
2007/06/04(月) 20:54:010119デフォルトの名無しさん
2007/06/04(月) 21:05:48後々役に立つんじゃね?
0120デフォルトの名無しさん
2007/06/04(月) 22:08:31だから、ポインタもセマファ代わりに使う事が出来る。
静的に確保したポインタ変数がヌルかどうかを利用すればいい。
タスクAでメモリを確保して、確保した結果にデータを用意した後
最後にポインタがヌルなら書き込む
タスクBでは処理が終わったらポインタを見て、ヌルポインタで無ければポインタを読み
処理して、最後にFreeした後、ヌルを書き込む
これで2つはうまく協調出来る
01211 ◆GqrOSDYjeQ
2007/06/05(火) 21:09:02タスクAはB処理でポインタをNULLにするまで待機って事か?
0122デフォルトの名無しさん
2007/06/05(火) 21:39:3001231 ◆GqrOSDYjeQ
2007/06/05(火) 23:56:25まて、それで言うとメモリじゃなくてイベント使った方がよくないか?
0124デフォルトの名無しさん
2007/06/06(水) 00:06:07タスクA,Bをクライアントにするようなクライアントサーバーモデルにすればどうでしょう?
でスレッド間を横断するようなオブジェクトはサーバー経由でアクセスするようにすれば
ちょっとは考える問題減るかもしれない
01251 ◆GqrOSDYjeQ
2007/06/06(水) 00:10:34貴様!この俺様にそんな技術があると思うのかこのクソ野郎が!!!!!!!
0126デフォルトの名無しさん
2007/06/06(水) 07:55:10他に処理すべき事が無ければイベントにすればいい。
AがBの為のデータを作る以外にもやる仕事があるならそっちをさせればいい
01271 ◆GqrOSDYjeQ
2007/06/13(水) 21:30:4401281 ◆GqrOSDYjeQ
2007/06/18(月) 21:12:31午前中とあるロジックのやり方で頭を抱えて悩みながら
一つのやり方を考案した。もっといいやり方はないかなと思い昼休みに
食堂で会社の同僚や後輩達に話を振ってみたんだ。
愕然とした。彼らは俺の話をロクに聞かずに小バカにしたような批判を言ってきた。
いや、批判が悪いわけじゃないし悪いところを指摘してくれるのは全然構わない。
問題は俺の話をまともに聞ききもせず「簡単じゃないか。ループでまわせばいいだろ」
と一言言ってきた。ループでまわせばできるとかそんな基本的な事はとっくの昔にわかってる
俺がいいたいのは処理の最適化だ。式一つでできるならループでまわすよりそっちの方が
断然早いし実際速度が重要だと思った箇所だからこそ、そういうロジックを考えてたわけで
だけど彼らは腐ったような目でニヤニヤしながら軽く俺の話をあしらってた。
昔からの知り合いは「自分で考えもせず人に答えを求めるなよw」とか言う始末。
俺はただ参考として他人の意見を聞きたかっただけなのにな。正直技術者として寂しかった。
技術者って言うのはこうやって他人を批判しながら腐っていくんだなと何となく思ってしまった。
批判されるのはやはり恥ずかしいが聞く事の恥なんて1年目で散々かいたし、だからこそ今の
自分がいるわけで、俺は今日のことを心に刻む。腐らないために向上心は絶対捨ててたまるか。
それにしてもニートだった知り合いに今の職場紹介してやったんだが、少し後悔してる。
なまじ俺がいるから周りに溶け込みやすかったんだろう。それが仇を成したか知らんが
今日のあのニヤケ顔と目を見て思わず「ああ、お前もか・・・」と思ってしまった。
後はあいつ次第何だが友人としてこれ以上酷くならない事を祈るw
0129デフォルトの名無しさん
2007/06/19(火) 12:52:190130ひろみつ
2007/06/19(火) 13:38:54ということにして、サボっている。
01311 ◆GqrOSDYjeQ
2007/06/22(金) 02:15:39どうやったらコミュニケーション能力上がるのかなwwwwwwwwwwwwww
0132デフォルトの名無しさん
2007/06/22(金) 02:17:230133デフォルトの名無しさん
2007/06/22(金) 08:43:38参考
ttp://www.geocities.jp/techintobed/
0134デフォルトの名無しさん
2007/06/23(土) 19:22:15逆に向こうはお前を仕事以外の時間に仕事の話を振るなんて空気読めない奴と思っているかもしれないぞ
01351 ◆GqrOSDYjeQ
2007/06/24(日) 10:44:35悪いが俺的にプログラムのロジックの事に関しては”仕事”ではなく”趣味”だから。
たまたま仕事も同じような事をしてるだけ。
まあ、プログラム好きな奴じゃないと理解できないだろうけどなwwwwwwwwwwww
0136デフォルトの名無しさん
2007/06/24(日) 10:57:53そういうやつと一緒に仕事をしていることを嘆くしかないよ
0137デフォルトの名無しさん
2007/06/24(日) 17:15:03仕事≒趣味とかいうのはかなり特殊だよ
プログラマってそういうの多いから仲間はすぐみつかるとおもうよ
1はGoogleとか冒険企業むきなのかな〜とおもったりする
0138デフォルトの名無しさん
2007/06/24(日) 17:18:44http://2chl.sakura.ne.jp/
0139デフォルトの名無しさん
2007/06/25(月) 08:03:540140デフォルトの名無しさん
2007/06/25(月) 08:13:21スレッド自身が自分にどんなフックがかかっているのか知りたいんです。
あればAPI名のヒントください。
0141デフォルトの名無しさん
2007/06/25(月) 08:28:23ごめん、まちがえてしまいました。
無視してください。
01421 ◆GqrOSDYjeQ
2007/06/26(火) 01:53:38APIフック使ってSetWindowHookEx自体を自作Hook_SetWindowHookExで別にHHOOK格納すればいけるんじゃね?
01431 ◆GqrOSDYjeQ
2007/06/26(火) 01:58:31そうなんだ俺最強厨なんだ。
01441 ◆GqrOSDYjeQ
2007/06/26(火) 02:02:500145デフォルトの名無しさん
2007/06/26(火) 08:26:18>>142のほうほうだとすでにかかっているフックがとれなくて悩んでました。
>>144の方法だとCallNextHookExを呼び出さないタイプのフックがある場合に捕まえられないんですよね。
01461 ◆GqrOSDYjeQ
2007/06/26(火) 23:44:04無理だな
01471 ◆GqrOSDYjeQ
2007/06/26(火) 23:48:4001481 ◆GqrOSDYjeQ
2007/06/26(火) 23:52:06お前さんも質問箱の住民か307だろwwwwwwwwww
0149デフォルトの名無しさん
2007/06/27(水) 08:46:21間違えてこちらに書いてしまったのですが、解答してくれてありがとうございました。
01501 ◆GqrOSDYjeQ
2007/07/04(水) 01:09:37覚えた機能メモ書き
Val
文字列を数値に変えてくれるという稀代の名作
Mid
文字列をある特定の位置から取り出してくれるというC言語を馬鹿にした仕様
Format
sprintfで十分だろ猿がああああああああああ
EOF
引数にファイルインデックス指定してファイルが終端かどうか判定するらしい
EOFがまるでゴミのようだ
FreeFile
ファイルインデックス(ファイルハンドル的なもの?)を返してくれるらしい1から511までだっけか。
App.Path
自モジュールのパスらしい。便利な世の中になったもんだね
Open
ファイルパスとファイルインデックスと後色々パラメータあった気がするようなしないような
DateSerial
DateをVariant型にする?詳しくは知らん
DateAdd
日付の計算をしてくれる舐めた機能
01511 ◆GqrOSDYjeQ
2007/07/09(月) 20:53:520152デフォルトの名無しさん
2007/07/17(火) 18:19:5801531 ◆GqrOSDYjeQ
2007/08/05(日) 22:09:570154デフォルトの名無しさん
2007/08/05(日) 22:19:210155デフォルトの名無しさん
2007/08/06(月) 10:38:350156デフォルトの名無しさん
2007/10/24(水) 20:07:290157デフォルトの名無しさん
2007/10/25(木) 03:41:300158デフォルトの名無しさん
2007/10/25(木) 05:28:221じゃないけど実装の解析というのも悪くない。
SQLの例であればDBがただのデータ列、インデックスがB木だったりと
中身の実体が判ってくると、それぞれが何の為に存在してるかも判ってくる。
「DBの検索速度を上げるためにインデクス(索引)を設定します」
なんていわれても、それがなんで検索速度に影響するのか理屈の
説明になってないし、なんでインデクスが大切なのかも判らない。
「データ列の検索速度を上げるためにB木に写像します」
の方が判りやすいかもしれない
01591 ◆GqrOSDYjeQ
2007/11/12(月) 23:56:10おれつええええええええええええええええええええええええ
01601 ◆GqrOSDYjeQ
2007/11/12(月) 23:57:31やばい感激だ。
俺去年の10月12日にスレ立ててたんだな。
ちょうど1年と1ヶ月か・・・まだ生き残ってるとは思ってなかったよお前らwwwwwwwwwwwwww
0161デフォルトの名無しさん
2007/11/13(火) 01:17:3701621 ◆GqrOSDYjeQ
2007/11/13(火) 21:35:18VBでの案件はとっくに終わったぜ
因みにVB6だった
0163デフォルトの名無しさん
2007/11/13(火) 23:22:110164デフォルトの名無しさん
2007/11/13(火) 23:44:3601651 ◆GqrOSDYjeQ
2007/11/13(火) 23:52:37何でいきなりVBからC++なんだwwwww
STLって聞いたことはあったけど詳しく知らなくてちょっと調べてみたんだが
色々な共通クラスが提供されてて覚えれば開発速度が上がりそうな印象、
但し、これは覚える(慣れる)のが大変だなwwwwwwwww
基本的に言語は選ばないがあくまでベースはC言語だから機会がないと
STLはやらないね。個人的に習得しようと思うならSTLの基礎となるC++覚える
0166163
2007/11/14(水) 23:38:47やってるのはC++だとおもってた。
STL、おれはコンテナしかやってないけど、
C++の文法だけ覚えれば、慣れるのはそんなに時間かからないと思う。
んじゃあ、通信系は? ソケットとか。
ただの興味本位だから無視してくれてもおk。
01671 ◆GqrOSDYjeQ
2007/11/15(木) 00:06:51ネットワーク関連でやった事といえばrecv、send、WSARecv、WSASendを
APIフックかましてターゲットプロセスが使用してるパケット強制取得とかそういうのかな。
ただ、俺はネットワーク系に関してほぼ無知なんだwwwwwwww
無知だが興味はあるから今後勉強してもいいなw
一応猫でもわかるネットワークプログラミングは買ってたりするんだが
SMTP辺りでうまくいかなくてイライラしてそのまま放置してた気がするwwwwwwww
0168デフォルトの名無しさん
2007/11/15(木) 01:47:35まだvectorとstring(wstring)しか使えてないけど超楽になった。
文字列定義するだけなのに、
最大サイズ決めるか、領域伸張、解放完璧にするか
の選択を迫られる生活にはもう戻れん。
iostreamなんかよりstring(wstring)先にやれよ
0169デフォルトの名無しさん
2007/11/15(木) 20:26:39メモリ管理や文字列処理が更に簡単になる。
・・・会社じゃ使えないとこのが多いがw
0170デフォルトの名無しさん
2007/11/15(木) 22:48:050171デフォルトの名無しさん
2007/11/16(金) 00:17:22なんか似てる。 興味あるけど放置してるあたり。
んじゃ、今>>1のなかで一番頭を占めてるのは?
UIとかファイルシステムとか、ざっくりしたかてごりでおねがい。
おれは(すさまじくいまさらだけど)COM。
毎晩ちょろちょろと本見たりネットで調べたりしてるんだけど、
ちーーともわかんね。
IUnknownとか、それはこっちのセリフだカス。 みたいな。
01721 ◆GqrOSDYjeQ
2007/11/16(金) 00:53:12リバースエンジニアリングだな。
といってもこれに関してはかなり自分の利得の為だけに
やってる事だからとても褒められた事じゃないけどなwwwwwwww
休日とかよくOLLYDBGでアタッチかましてシコシコやってたりする
まあ、アセンブリに関しては基本的な命令を斜め読みできるぐらいで
昨日(>>167)と似たような事言うが「アセンブリ言語の教科書」なるものを
購入して勉強してたんだが79ページの算術シフトでイライラしはじめて
放置してるわけだがwwwwwwwwwww
01731 ◆GqrOSDYjeQ
2007/11/16(金) 00:58:04何で俺こんなに頑張れたんだろうwwwwwwwwwwwww
0174デフォルトの名無しさん
2007/11/16(金) 01:26:5479ページとか言われてもわからねーちゅーのww
そしてまた放置かよwwwww
てんで”何”頑張ってんのかわかんなかったけど、でもまあガンバレ。
俺はちょっと諦めの気配。 いや放置はしない放置は。
あの子が俺に振り向いてくれる頃には、きっと。。 いけね、ここ板違う。
01751 ◆GqrOSDYjeQ
2007/11/25(日) 21:39:00,r'" `ヽ.
__,,::r'7" ::. ヽ_
゙l | :: ゙) 7
| ヽ`l :: /ノ )
.| ヾミ,l _;;-==ェ;、 ,,,,,,,,,,,,,,,_ ヒ-彡|
〉"l,_l "-ー:ェェヮ;::) f';;_-ェェ-ニ ゙レr-{ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| ヽ"::::''  ̄´.::;i, i `'' ̄ r';' } | 久々にAPI
. ゙N l ::. ....:;イ;:' l 、 ,l,フ ノ |
. |_i"ヽ;:...:::/ ゙'''=-='''´`ヽ. /i l" <
.| ::゙l ::´~===' '===''` ,il" .|'". |
.{ ::| 、 :: `::=====::" , il | \________
/ト、 :|. ゙l;: ,i' ,l' ノト、
/ .| \ゝ、゙l;: ,,/;;,ノ;r'" :| \
'" | `''-、`'ー--─'";;-'''" ,| \_
01761 ◆GqrOSDYjeQ
2007/11/25(日) 21:46:57CreateRemoteThreadによるDLLインジェクションなんだが。
それをやった上での疑問があったから知ってる奴は教えてほしい
@CreateRemoteThreadが返すスレッドハンドルの扱いについて
これはスレッドハンドルを取得してWaitForSingleObject辺りで
シグナル状態を確認した後CloseHandleを行うべきなんだろうか。
個人的な結論としてだが対象のプロセスに対するLoadLibraryA又はWの
処理を生成したスレッドが終えたわけだからやっていいんだよな?な?
自信がない僕はどうすればいいんだwwwwwwwwwwwwwwwwwwwww
AVirtualAllocExでの対象プロセスに対するメモリ領域確保について
対象プロセスハンドルを用いて、ロードするDLLの文字列を格納する領域を
生成するわけだがこれもLoadLibraryを行うスレッドが処理を終えた後に
確保した領域はこちら側で解放してあげるべきなのか。
これも個人的な結論でロードが終わったんならその文字列領域無駄じゃね?
っていう結論なんだが解放してやっていいんだよな?な?
これも自信ないから僕はどうすればいいんだwwwwwwwwwwwwwwww
他力本願な俺はお前らに大いに期待を寄せているwwwwwwwwwwwwww
0177デフォルトの名無しさん
2007/11/25(日) 22:20:41シグナル状態でなくても閉じて平気。
01781 ◆GqrOSDYjeQ
2007/11/25(日) 23:16:15そうなのかwwwwwwwww
まあ、いずれにしろFindFirst使ってPluginフォルダに入ってるDLLを
全てインジェクションしてるかつ共通のメモリ領域にDLLのフルパスいれて
CreateRemoteThreadのパラメータに渡してるからシグナル状態(LoadLibrary完了)
にさせてから次のDLLインジェクションさせないとWriteProcessMemoryで共通メモリに
別DLLのパス書き込んじまうからな。
ついでにもう1個知りたい事があるんだが。
例えば0x00500000のアドレスにJMP命令(4byte)があったとして、
そいつは0x00100000のアドレスにジャンプするんだが
機械語だとE9 FFBFFFFBになるんだ。
探した参考サイトとかで算出方法?みたいなのが乗ってて
「ジャンプアドレス-命令アドレス-0x05」ってなってたんだが
最後の0x05の意味は何なんだろうと俺はここ2日頭をかかえて
悩んでるんだが誰か知ってる奴いない?
後、逃げ道としていっておくけど俺は低レベルな知識は
全然詳しく無いんでできれば優しく教えて欲しいwwwwwwwwww
01791 ◆GqrOSDYjeQ
2007/11/25(日) 23:24:03上記の>>176,178で何がやりたかったのかというと
0x00400000 JMP AAAAAAAAっていう命令を自作DLLを介入させて
0x00400000で本来JMPするはずのAAAAAAAAの前にBBBBBBBB
という自作関数を走らせてからAAAAAAAAの処理をさせるって言う
いかにも胡散臭い目的を主としたものを作ってたんだ。
ジャンプ先の命令はこんな感じ
VOID __declspec(naked) hoge(VOID)
{
__asm call B
__asm jmp A
}
それをやる上で>>177に記したジャンプアドレスの書き換えと本来通るべき
アドレスの算出を探して見つけたのはいいけど理解できずに喉につかえた
感じで終わりたくなくて探してるんだが。見つからずwwwwwwwwww
01801 ◆GqrOSDYjeQ
2007/11/25(日) 23:31:34悪い間違えたwwwwwwwwwww
>>177 ×
>>178 ○
表記間違えてるけど>>178のFFBFFFFBはリトルエンディアンで
0181デフォルトの名無しさん
2007/11/25(日) 23:37:26その5はE9 FFBFFFFBの5バイト
E9 FFBFFFFBの次の命令は0x00500005に置かれることになる。
E9の相対JMPはそこを基準に何バイト前or先へジャンプするという指定なので。
仮にE9 00000000とすれば、
全く進みも戻りもしない
= 次の命令に進む
= 50000005(次の命令のありか)へジャンプするということになる。
01821 ◆GqrOSDYjeQ
2007/11/25(日) 23:42:22あー、そういうことか
いや、微妙に困惑気味だがとりあえずヒントをありがとうwwwwwwwww
お前何かSUGEEEEEEEEEEEEEなwwwwwwwwwwwwwwww
明日仕事だから今日は寝て時間あるときその文面を自分なりに分析するぜwwwwwwww
0183デフォルトの名無しさん
2007/11/25(日) 23:48:38俺もあなた達と語れるくらいのレベルまで到達したい。
だけど、そこまで行くには具体的にどうしたらいいのかわからない。
教えて下さい!!!!!!!!!!!!
01841 ◆GqrOSDYjeQ
2007/11/28(水) 00:21:00やる気よりも根気強くコツコツ本を読み進める事が
できるスキルがあればいけるんじゃないかな?
俺が18(専門学校)〜21(現在)の過程を辿っていくとこんな感じだった
【専門学生時代】
ネトゲ三昧でどうしようもなかった。一応プログラミングなんかする専門学校
だったし興味はあったんだがあまり打ち込んでなくて出された課題を
こなす程度だった。そのまま2年生になって就職活動したが
全然採用されず途方にくれてたwwwwwwwww
そもそも俺は一般教養中学生レベルもままならないレベルだったんだw
それで3,4社ぐらい受けて4社目(今勤めてる小さな会社)で採用された。
後で聞いた話だが俺の採用試験の点数は40点だったらしいwwwwww
俺を採ったのは面接での印象がよかったんだとさ。
で、この時点での俺のプログラミング(C言語)の知識は
ほんとに簡単なコンソールプログラムと基本的な構文のみしか覚えてなくて
fopenとかのファイルストリームの使い方もほとんど使えなかった(一応授業では習ってた)
【就職決まった後から研修まで】
学生卒業するギリギリまでネトゲ三昧wwwwww
研修期間(2週間程度だったが)に社長にボコられまくった。
この時二度と研修やりたくないと思ったwwwwwwwwwwww
4月(2006年)に入り配属先(うちは協力会社)に移ったんだが
ものすごく放置されてたwwwwwwwwwwwwwwww
暇だからとりあえずGUI覚えようと思って「猫でもわかるWinプログラム」の
本を購入してしばらくGUIの勉強し始めた。色々やってるうちに6月になって
学生時代やってたネトゲツールを作ってみた。(フックを使った簡単なもの)
そんな事してるうちに最初は意味がわからなくて見真似で作ってた
ウィンドウプロシージャの概念がわかり始めて今度は自分で試行錯誤
しながら色々な機能を実装し始めた。
01851 ◆GqrOSDYjeQ
2007/11/28(水) 00:26:14確かその時遊びでこのスレを建てた気がするw
この辺りから自作DLLで色々な俺様共通関数を作り初めて
今年の2〜4月辺りにマルチスレッドに興味持ち始めて
いくつか仕事用の自作ツールをスレッド使って作ってみた。
7月ぐらいから仕事が忙しくなり始めてあんまり自分の時間できなくなったけど
休日あたりの暇を見てネトゲのクライアント解析なんか少しずつ
やりだしたりして今に至るって感じだな。
寝る前に適当に書いたから文面汚いかも知れないけど
要はツール作らないと実現できない事に関する動機がを見出せば
いつの間にか知識がついてくるって感じじゃないかwwwwwwwww
個人的にでかかったのは2006年の4月から1年ぐらい
放任でやらせてもらった環境だったかもな。
だから根気さえ続けば1年ぐらいで俺程度にはなれるんじゃないかw
01861 ◆GqrOSDYjeQ
2007/11/28(水) 00:29:080187デフォルトの名無しさん
2007/11/28(水) 23:35:47私も最近ですが、猫でもわかるWindowsプログラミングの本を買いました。
ですが、今悩んでいます。
Cの基礎をほとんど学ばずGUIプログラミングから入ってしまった私は、
ポインタとか列挙体とかまるでわからなくて困っています。
C言語に関する質問スレを見ても難しいコードが質問されてたりするのを見るたびに自分の低スキルさを実感します。
明解C言語という本を買ったんですが、これまた難しく、文字列処理なんかで非常に困っている状況です。
やるからには、いいコードを書きたい、
だが、自分の書いてるコードは間違いだらけなんじゃないのか…
全く工夫のこらされていない糞コードなんじゃないのか…
いいコードを見たこともないのに、こういう考えばかりが先行してしまっている状況です。
やはり、地道に書いていくしかないんですかね?
0188デフォルトの名無しさん
2007/11/29(木) 00:06:0101891 ◆GqrOSDYjeQ
2007/11/29(木) 02:21:34俺が初めて買ったプログラミングの本は
「Cの絵本―C言語が好きになる9つの扉」
とかいう本だった専門学校入ってから買った本だな。
「いいコード」か。それは人それぞれ考え方があるから
あれだけど俺はトリッキーで奇抜な処理よりも冗長な、
でも人が見てわかりやすいコードが「いいコード」だと思うな。
後はコメントが無いソースはゴミだと思うしC言語で言うなら
極端にgoto嫌う人が作ったソースも見づらい気がする。
俺も聞いたけど学校で講師がgoto使うなとか言うから悪いのかもな。
参考までにgoto使ったケースのソースと使わないソースを下記に記載
01901 ◆GqrOSDYjeQ
2007/11/29(木) 02:22:49{
char chBuffer[256];
FILE *fpRead;
FILE *fpWrite;
fpRead = NULL;
fpWrite = NULL;
fpRead = fopen("ReadMe.txt", "rb");
if(fpRead == NULL)
{
return 1;
}
if(fread(&chBuffer[0], sizeof(chBuffer), 1, fpRead) != 1)
{
fclose(fpRead);
return 1;
}
fpWrite = fopen("WriteMe.txt", "wb");
if(fpWrite == NULL)
{
fclose(fpRead);
return 1;
}
01911 ◆GqrOSDYjeQ
2007/11/29(木) 02:23:24{
fclose(fpRead);
fclose(fpWrite);
return 1;
}
fclose(fpRead);
fclose(fpRead);
return 0;
}
01921 ◆GqrOSDYjeQ
2007/11/29(木) 02:25:01{
char chBuffer[256]; /* 読み書き領域バッファ */
FILE *fpRead; /* データ読込ファイルポインタ */
FILE *fpWrite; /* データ書き出しファイルポインタ */
int nResult; /* 戻り値 */
/* 変数初期化 */
fpRead = NULL;
fpWrite = NULL;
nResult = 1;
/* データ読込ファイルオープン */
fpRead = fopen("ReadMe.txt", "rb");
if(fpRead == NULL)
{
/* ファイルオープンに失敗した場合処理終了 */
goto FUNC_END;
}
/* データをバッファサイズ分読込 */
if(fread(&chBuffer[0], sizeof(chBuffer), 1, fpRead) != 1)
{
/* データ読込に失敗した場合処理終了 */
goto FUNC_END;
}
01931 ◆GqrOSDYjeQ
2007/11/29(木) 02:25:43fpWrite = fopen("WriteMe.txt", "wb");
if(fpWrite == NULL)
{
/* ファイル生成に失敗した場合処理終了 */
goto FUNC_END;
}
/* ファイルにバッファ領域データ書き出し */
if(fwrite(&chBuffer[0], sizeof(chBuffer), 1, fpWrite) != 1)
{
/* 書き出しに失敗した場合処理終了 */
goto FUNC_END;
}
/* この時点で正常終了 */
nResult = 0;
01941 ◆GqrOSDYjeQ
2007/11/29(木) 22:52:58何かやる気なくなったけど続き(うろ覚えだがw)
FUNC_END:
/* リードファイルをオープンしていた場合 */
if(fpRead != NULL)
{
fclose(fpRead);
}
/* ライトファイルをオープンしていた場合 */
if(fpWrite != NULL)
{
fclose(fpWrite);
}
return nResult;
}
まあ何か1日経過して説明するのだるいから
こういう書き方もありますよ的な感じで見てくれるといいwwwwwwwww
0195デフォルトの名無しさん
2007/12/01(土) 02:28:1001961 ◆GqrOSDYjeQ
2007/12/03(月) 01:42:45char型のポインタpchAddressに入っているとする。
それをwsprintf&chBuffer[0], TEXT("int = %d\r\n"), *((INT *)pchAddress));
ってやれば値取得できるって知らなかった俺に乾杯wwwwwwwwwwwwww
なるほど一度INT型のポインタにキャストすることで4バイト管理となり
その4バイトに対する中身を「*」で参照する事ができるようになるんだな
よく考えてれば当たり前の事だったw
そんな俺様はこれに気づく前までこんな事してた
INT inOretue_;
inOretue_ = *(pchAddress);
inOretue_ = inOretue_ + *(pchAddress + 1) * 256;
inOretue_ = inOretue_ + *(pchAddress + 2) * 4096;
inOretue_ = inOretue_ + *(pchAddress + 3) * 65536;
まさに鬼才現るwwwwwwwwwwwwwwwwwwwwww
0197デフォルトの名無しさん
2007/12/03(月) 22:18:4001981 ◆GqrOSDYjeQ
2007/12/03(月) 23:09:03寝たんだが奇跡的に突っ込まれてなかったwwwwwwwwwwww
inOretue_ = inOretue_ + *(pchAddress + 2) * 4096;
inOretue_ = inOretue_ + *(pchAddress + 3) * 65536;
は間違いwwwwwwwwww
inOretue_ = inOretue_ + *(pchAddress + 2) * 65536;
inOretue_ = inOretue_ + *(pchAddress + 3) * 16777216;
が正解
何やってんだ俺はwwwwwwwwwww
0199デフォルトの名無しさん
2007/12/03(月) 23:41:5602001 ◆GqrOSDYjeQ
2007/12/04(火) 00:22:35よほどの事がない限り使わないようになってるw
やってることは同じ事だし好みの問題じゃないか?
0201デフォルトの名無しさん
2007/12/04(火) 06:45:300202デフォルトの名無しさん
2007/12/04(火) 13:09:28こんな書き方絶対しないけど、
やるなら
* 256
* (256 * 256)
* (256 * 256 * 256);
にする。
0203デフォルトの名無しさん
2007/12/05(水) 01:17:4202041 ◆GqrOSDYjeQ
2007/12/05(水) 01:28:23なるほどwwwwwwww
そういう書き方もあるな
>>203
俺普通にcharでアドレス使ってるwwwwwwwwwwwwwwwwww
02051 ◆GqrOSDYjeQ
2007/12/05(水) 01:29:53因みにアドレスは何型で使ってるんだ?void *か?
0206デフォルトの名無しさん
2007/12/05(水) 12:30:00アドレスは何型でも関係ないぞ?
ちゃんとわかって言ってるのか
0207デフォルトの名無しさん
2007/12/05(水) 13:55:55*((INT *)pchAddress) を
*((INT)pchAddress) と読みちがえた。
プロセスメモリエディタみたいなのを作ってるのかと想像した。
02081 ◆GqrOSDYjeQ
2007/12/05(水) 22:12:25(INT)でキャストした時点でアドレスじゃなくなるから
そこでアドレス演算子を使うと普通にエラーになると思うんだ
02091 ◆GqrOSDYjeQ
2007/12/05(水) 22:37:47ttp://www.nicovideo.jp/watch/sm1508109
ttp://www.nicovideo.jp/watch/sm1347583
特に下の奴は笑わせてもらったぜwwwwwwwww
0210デフォルトの名無しさん
2007/12/06(木) 02:06:22わろた
SDKやってたけど、今日はもういいや!
02111 ◆GqrOSDYjeQ
2007/12/13(木) 14:36:22ところでSDKとは関係ないが最強の俺様はexternの関数
について正直完全に理解しきれていない。
そもそもプロトタイプ定義でexternが必要なのか?
static関数の場合そのソース内のみでしか有効ではないが、
extern関数の場合はどこかに定義されているからそれ使えって
意味なんだろう?だとするとexternをつけないプロトタイプ定義と
同義なんじゃないだろうか?一応ざっくりテストPG作って検証してみたが
externをつけるのとつけないのでの違いはなかった気がする
どうなんだお前らwwwwwwwwwwwwwwwwwwwwwwww
0212デフォルトの名無しさん
2007/12/13(木) 14:55:51どんなテストプログラム作ったんだ?
externが必要な場合externなかったらコンパイル通らないだろ。
0213デフォルトの名無しさん
2007/12/13(木) 15:22:31色々試した結果こうなった。
a.h
#include <stdio.h>
extern void aaa();
void aaa();
a,cpp
#include "a.h"
void aaa(){
printf("a.cpp::aaa()\n");
}
b.cpp
#include "a.h"
void aaa(){
printf("b.cpp::aaa()\n");
}
void main(){
aaa();
}
b.cppをコンパイルし実行
>b.cpp::aaa()
a.cppをコンパイルしb.exeに結合
>a.cpp::aaa()
なんでそーなるかは知らん。
02141 ◆GqrOSDYjeQ
2007/12/13(木) 22:30:47友達に大爆笑されたが
>>213
それはexternは”外部参照”だからa.cppの方が
優先されるんじゃないか?すごい適当に答えてるがw
逆にa.hの
extern void aaa();
void aaa();
を
void aaa();
extern void aaa();
に変えて実行してみたらどうなるか試してみるか。
02151 ◆GqrOSDYjeQ
2007/12/13(木) 22:42:36void aaa();
のみで定義した場合でも自動的に
extern void aaa();
ってなるんじゃないのかなwwwwwwwwwwwwwwww
02161 ◆GqrOSDYjeQ
2007/12/13(木) 22:46:29http://www.shuwasystem.co.jp/cgi-bin/detail.cgi?isbn=4-7980-1705-1
また、50ページぐらいで挫折するのかなwwwwwwwwwwwwwww
0217デフォルトの名無しさん
2007/12/13(木) 23:50:44「デバッガによるx86プログラム解析入門」は、プログラミング未経験者にも役立つように、
丁寧に解説しているから、挫折はしないはず。
内容が面白かったから、自然に読み進めていけるって感じだった。
それにしても、解析本の中で一番まともな本を見つけたのはラッキーだったね。
このジャンルには、救いようも無い大ハズレな本もあるから・・・
0218デフォルトの名無しさん
2007/12/15(土) 16:14:26自分も1週間前に買った。忙しくてまだ全然読んでないけど。
0219デフォルトの名無しさん
2007/12/16(日) 07:39:52プロトタイプ定義じゃなくてプロトタイプ宣言じゃないか
ソース外部に公開するという意味ではprivateとかstaticとか書かなければ、デフォルトでそうなる
ただし、変数の場合は
int a;
とやってしまうと、宣言+定義になってしまうので、複数回コンパイラに処理されると多重定義になってしまう。
宣言だけをするために、
extern int a;
と書く。
関数の場合は、プロトタイプ宣言の書き方で宣言だけになるので、externは必要ない
正確でないと思うので誰か突っ込んでくれ
0220デフォルトの名無しさん
2007/12/16(日) 14:09:23てっきり「俺の開発環境はWindowsのメモ帳」って意味かと思った。
02211 ◆GqrOSDYjeQ
2008/01/01(火) 02:05:22規制食らってた俺様が戻ってきましたよwwwwwwwwwww
いい加減プロバ変えようかと思ってるけどめんどくさい事を
やらないのが俺のクオリティ。
さっそくだけど生成したスレッドに対してPostThreadMessageを
使用して独自メッセージ処理をさせてるプログラムで
その独自メッセージの処理がまたスレッドを生成させているんだが
独自メッセージをポストさせまくった場合たまにそのプロセスが
フリーズしちまうんだがこれやっぱりどっかで競合起こしてるんだよな。
マルチスレッドはそんなに組んだ事なくて経験が浅いからいまいち
ピンとこない。一応これも勉強のためと思って色々試してたりするんだが
中々わからない。というか難しいwwwwwwwwwwwwww
ポストさせまくってといっても、セマフォ使って一度に生成できる
スレッドの数を制限してるんだが、多分その辺のセマフォカウント
あたりが怪しいんじゃないかと思う。
以下コード↓
if(WaitForSingleObject(hThreadSemaphore, 0) != WAIT_OBJECT_0)
{
break;
}
hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)&test, (LPVOID)msg.lParam, 0, &dwThreadId);
以下コード↑
02221 ◆GqrOSDYjeQ
2008/01/01(火) 02:11:19そうじゃないかの状態を取得してシグナルだった場合スレッドを生成する。
セマフォが非シグナルじゃない場合は今回ポストされた独自メッセージは
そのままスルーされるという処理にしてる。
フリーズする原因としては多分この辺なんじゃないカナとか思ってたり。
ただ、確証がまったく持てない俺様なんだけどwwwwwwwwwwwww
例えば下記の様に
以下コード↓
if(WaitForSingleObject(hThreadSemaphore, 0) != WAIT_OBJECT_0)
{
break;
}
/* 0.1秒寝る */
Sleep(100);
hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)&test, (LPVOID)msg.lParam, 0, &dwThreadId);
以下コード↑
スレッド生成させる前に0.1秒ぐらい寝かせれば起こらなくなるのかな?
とか思ってやってみたら起こらなくなった気がするんだけど。
つまりこれはどういうことなんだろうwwwwwwwwwwwww
事象がほんと稀で起こったり起こらなかったりだからほんと性質が悪いぜ。
0223デフォルトの名無しさん
2008/01/01(火) 03:49:33{
break;
}
/* 私はlinkをしているんだ */
Sleep[i](またか?);
hThread = CreateThread(Text, 0, (PRINT_START_EXIT)&test, (何度云えば判るんだ?);
02241 ◆GqrOSDYjeQ
2008/01/01(火) 10:54:37よくわからないがすごいコードだということはわかったwwwwwwwwwww
02251 ◆GqrOSDYjeQ
2008/01/03(木) 22:05:39ここ2年ほどwindowsプログラムを触り始めて
ある程度の知識、テクニックを身に付けてきたと思うんだ。
最近は何か作るにしても過去にやった事を応用した
処理実装ばかりになってきている感じ。
そろそろ、1から新しい事をやり始めるいい機会かもしれない。
選択肢としては
「ソケットプログラミング」
「データベースプログラミング」
の2つぐらいだと考えてるんだけどどれを先にやろうか迷うぜw
02261 ◆GqrOSDYjeQ
2008/01/03(木) 22:10:44データベースプログラミングにしようwwwwwwww
それに当たって何か書籍買うか。
でも、DBプログラミングって難易度高そうなイメージが付きまとう
まずはDB構築とSQL取得か。後者は多少経験あるが
ほとんどわからないのが現状、前者に至っては全然わからねええええ
うはwwwwwwwwww絶望的wwwwwwwwwwwww
0227デフォルトの名無しさん
2008/01/03(木) 23:35:360228デフォルトの名無しさん
2008/01/04(金) 01:55:55http://e-words.jp/w/MSDE.html
0229デフォルトの名無しさん
2008/01/04(金) 02:40:4702301 ◆GqrOSDYjeQ
2008/01/22(火) 00:08:02近況報告。
転職支援サービスに申し込みをしたw
今年で3年目だけど今の会社じゃ今後これ以上の
成長できないと判断したので転職しようかと思う。
なんていうか人間関係はこれ以上にないって言うぐらい
良くて後ろ髪引かれる思いが多々あるんだけども、
自分の中で考えた結果やっぱり今に甘んじるよりも
技術が欲しいと結論を出した感じw
若い内にしかできない事もあるからね。
次就職する先は自社内開発を積極的にやってるところを探したい。
けど、その前に俺は一般教養がほんとダメダメだから
一般常識問題が出ると100%落ちると思うんだけど、
どうしたらいいと思うお前らwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
後、DBプログラミングは全然やってないんだスマンw
0231デフォルトの名無しさん
2008/01/22(火) 02:42:170232デフォルトの名無しさん
2008/02/04(月) 00:59:53目指す会社が欲するプログラミング能力があれば問題なんじゃないかな?
目指す会社が採用してくれるといいな。
02331 ◆GqrOSDYjeQ
2008/02/04(月) 19:44:16おう、ありがとう。
先週の土曜日転職支援サービスの担当者と面談してきたよ。
とりあえずそこで良さそうな3社にエントリーしてきたんだけど、
仮に書類選考が通ってきて面接となった場合に俺面接いけるのかなwwww
うちの会社暗黙の了解で有給とっちゃいけないとかいうのがあって
その事話したら転職支援サービスの担当者が
「面接は基本平日のみだからその辺はその時になって相談しましょう」とか
言われてものすごく不安だ。
最悪、仮病使って休むしかないのかなぁ。
勤務先が勤務先なだけに都心部に夜7時といわれてもかなりきつい状況だから
これはもう絶望的かもしれないwwwwwwwww
特に2次、3次の役員級面接になると平気で
平日の昼間を指定してくるらしいし。
02341 ◆GqrOSDYjeQ
2008/02/05(火) 22:08:18応募した企業の書類選考は通ったらしい。
ただ、筆記試験が「国語、英語、数学、作文」(45分)
おいwwwwwwwどういうことだwwwwwwww
上記の筆記試験は俺に死ねと言ってるようなもんだろwwwwwwww
まじやべえええええええええおれやべえええええええええ
後、面接が最高でも平日の18時スタートらしいんだ。
どうみても無理なんだw
落ちるの目に見えてるから断ろうかな。。。
でも、応募して1日で書類選考通してくれるような企業を
面接の時間と一般教養がないからといって断るのは申し訳ないし。
俺転職無理かも知れないw
絶望してきたwwwwwwwwwwwwwww
さて、話し変わるんだけどここ2日ぐらいリストビューの
サブアイテムの編集を行う機能を実装しようとして必死になってた。
SDKでの実装資料の少なさに悪戦苦闘して不完全ながらも
何とか指定セルに対する入力編集ができるようになった事に
俺様仕事中トイレで大喜びしてたwwwwwww
後はエディットボックスの位置を変えてあげるのが残ってるんだけど
調べたところそれは対象エディットのサブクラス化で実装できそうだ。
これは比較的簡単かもしれない。(まだやってないけど)
手探りで実装したから汚くて意味不明なソースになってるけど見たい人はどうぞ。
後もっと活気的なやり方あるなら俺様に教えるべきだwwwwwwwwwwww
http://www-2ch.net:8080/up/download/1202216820706741.8QWr7y
02351 ◆GqrOSDYjeQ
2008/02/05(火) 22:28:09case WM_NOTIFY:
/* リストビュー特殊通知処理 */
if(wParam == IDC_LISTV_SEARCHRES)
{
/* リストビュー特殊処理 */
ListViewSpecialProcessing(lParam);
}
break;
技術的なつっこみはありがたいが先述した通り手探り実装で
「作り」よりも「動き」を重視してコーディングしたから、
使ってない変数がどうとかコメントの書き方がどうとか
そういうレベルの話は無しで頼むぜ。
0236デフォルトの名無しさん
2008/02/06(水) 02:15:10どのくらい前からなら有給申請できるの?
それ正直に話して試験の日にちを遅らせてもらえば?
そのくらいの融通は利きそうなもんだけど。 逆に面接に融通は利きそうも無いけど。
02371 ◆GqrOSDYjeQ
2008/02/06(水) 23:25:58うちは有給とっちゃいけないという暗黙のルールがあってだな。。。
有給取るのはほぼ不可能なんだ。
半休を貰う事はできるからそれで調整するが
何度も使えるわけじゃないからいざという時のために温存しておきたい。
というか転職活動舐めすぎてた。仕事しながらは非常にシビアだw
>>234-235の続き。
一応機能的には完成したけど。
見た目的に微妙なのとラベル編集のエディットボックスを移動した時に
元の親アイテム文字列が消える現象があるからそれを
何とかしないといけないけどやり方がよくわからねえw
それとWM_USERで独自メッセージを定義(WM_USER_SETPOS)して
エディットボックスの位置を固定させる点座標値やらを初期化させてるんだが
それ以外にやり方を知ってる人いたら是非俺に教えてくれ!!
(グローバル変数を使うやり方以外でw)
下記はソース。見たい奴はどうぞ
http://www-2ch.net:8080/up/download/1202307308607876.yHVWdm
0238デフォルトの名無しさん
2008/02/08(金) 23:08:03必殺ずるやすみ
0239デフォルトの名無しさん
2008/02/15(金) 03:32:260240デフォルトの名無しさん
2008/02/15(金) 05:44:47特に意味は無いのですが…
誰の「俺のSDKメモ帳」ですか?
0241デフォルトの名無しさん
2008/02/15(金) 17:51:110242デフォルトの名無しさん
2008/02/17(日) 22:31:2602431 ◆GqrOSDYjeQ
2008/02/17(日) 23:48:27人事担当者と技術担当者各一名ずつの構成で行った。
基本的に人事の人が企業の説明と質疑応答をやって、
技術担当者とはほんの少ししか会話できなかったが、
話の中でWM_CREATEとかGetWindowLongとか
その辺の話をしてきたのでSDK関連の知識はあるのかなと思った。
今勤めてるところは俺以外SDK知らない(関心無い)人ばかりで
一度も話が通じた事無いから多少期待がもてるんだろうかw
ほとんど話しができない状態だったから何ともいえない。
まあ、現在の俺は選ぶんじゃなくて選ばれる立場にあるから
偉そうな事はいえないんだけどwwwwwwwwwwww
>>231
亀レスだがそのリンク先の企業まだ採用してるなら応募してみようかな
Ajax開発ツールでのGUI的なアプリケーション開発の
内部実装に関してはかなり興味をそそる。
Ajaxの概念的にはシンプルで実装自体もさほど難しくなさそうだなと
勝手に思い込んでるんだが、シンプル故に作りこみが楽しそう。
0244デフォルトの名無しさん
2008/02/21(木) 18:17:400245デフォルトの名無しさん
2008/02/22(金) 17:55:1702461 ◆GqrOSDYjeQ
2008/02/24(日) 14:15:52「面接官にC言語ではGUIアプリケーションは作れない」と言われた
続けて「VC++でならGUI作れるけどね」ともいっていた
俺はどうしようかと思った
因みにその人はVBしかやったことがないらしい
それより問題は俺のコミュニケーション能力の低さ
前々から自覚はしていたが面接やってみて痛感。
質問に対して回答に窮する事が多々あったorz
「これは致命的だな」と危機感を持ち、たまらずそういった
本購入してみたけど本読んだだけじゃ身に付くものでもないよなぁ。
今までを振り返ってみると「技術技術」で技術ばかりを追い求めて
そういった対話スキルなんて何の興味もなかったけど、
将来を見据えるとどうみても必須スキルだw
コミュニケーション能力向上の講座とかあるなら参加してみるかー
おまいらにも同じ悩み又は昔抱えてた奴とかいる?
0247デフォルトの名無しさん
2008/02/28(木) 17:47:09なに言ってんだそいつ。
0248デフォルトの名無しさん
2008/02/28(木) 18:24:46むしろテンプレ
0249デフォルトの名無しさん
2008/04/25(金) 15:07:300250デフォルトの名無しさん
2008/04/26(土) 08:00:11初心を思い出せ
0251デフォルトの名無しさん
2008/04/26(土) 08:11:53ああ、面接官自身が自分には作れないよ、と言ってるのか。
02521 ◆GqrOSDYjeQ
2008/05/07(水) 23:55:12>>250
すいません。初心を思い出します。
そして転職活動。
思うように決まらない。
俺はどうしたらいいんだorz
まあ、この辺はボチボチやっていこう。
さて、初心を思い出そうという事で最近やっててしかも
かなり頭を抱えて悩んでた馬鹿らしい技術的な話。
APIフック使って、とあるネトゲーのパケットを
イジイジしようかと思って頑張ってた。
recv、send、WSARecv、WSASendの各パケットAPIの
横取りは完了したのだが、sendの弄りはうまくいくのに
recvの弄りは何故かうまくいかない。
ナズェダ!ダディャーナザァン!とマジで3週間ぐらいそれで悩んでた。
作ったフック関数の作りはこうだ!!
int WSAAPI hkRecv(SOCKET s, char FAR * buf, int len, int flags)
{
/* recvパケット処理 */
EvaPacket((LPBYTE)&buf[0]);
/* オリジナル関数でパケット情報を取得 */
return ((PRECV)tgHook.pRecv)(s, buf, len, flags);
}
どうみてもrecvでパケットを受信する前に弄り処理を行おうとしています。
本当にありがとうございました。
02531 ◆GqrOSDYjeQ
2008/05/08(木) 00:19:02やはりというべきなのかわからないけど筆記で落とされる俺。
この前受けた最終面接の不採用通知で筆記試験が芳しくないといわれて
今回も某企業の最終面接まではいけたんだけど、WEBテストってのがあって
ついさっき受けてきた。詳細はいえないけど言語分野。非言語分野だったんだ。
うん。僕は死んだ。特に非言語分野orz
自分が不甲斐なくて泣けてくるけどこればかりは学生時代
勉強なんてしなかった付けが回ってきたのかなと思うんだw
ただ、一次面接自体は結果はともかく楽しくて、
純粋に技術的な話や俺の知らない事も教えてくれた。
何より俺の話をよく聞いてくれた事が印象的だった。
ともかく、今日やったテストの事は早めに忘れる事にして
今度ある最終面接でぶち当たって砕けてくる!!
前回が前回なだけに非常に楽しみだ。
0254デフォルトの名無しさん
2008/05/08(木) 00:21:1502551 ◆GqrOSDYjeQ
2008/05/08(木) 00:25:20たまに書き込もうとしてたんだけど
nifty永久規制かかってて書き込めなかったw
0256デフォルトの名無しさん
2008/05/18(日) 10:47:0202571 ◆GqrOSDYjeQ
2008/05/28(水) 01:26:26この前面接してきたんだけど結果は不採用だったよorz
見送り理由は「論理的思考力や説明力」という点で
求めるレベルと合致しなかったらしい。
そうなんだよなー。俺説明下手なんだorz
でも、不採用の理由がWEBテストの結果が思わしくなかった
というのじゃなかったのがせめてもの救いで、
学力じゃなくてそういった人物に対しての思考能力とかで
推し量ってもらったのが俺的に納得。
え?WEBテストの予想結果が聞きたいって?
多分0点か2点ぐらいだと思うんだ!!(解いたのが2問)
中学レベルの試験だったと思うけど俺勉強嫌いで
中学時代授業中普通に寝てたりしてたから。。。
筆記は働く上で必要ない事もないけどあまり重要性を
感じないのでいいとして、いままで就業してきた中で
一番重要だと思える能力が説明能力なんだよね。
これが欠けてる俺は何とか克服しないと先に進めない気がする。
という事で↓に参加する事に決めて今応募してきたw
http://www.isoroot.jp/muryou1/index.htm
なんというポジティブな俺。
-- 反省会終了 --
02581 ◆GqrOSDYjeQ
2008/05/28(水) 01:30:22とりあえず説明は明日やるとして事前にソースだけうpして寝る。
明日また来る
ttp://www-2ch.net:8080/up/download/1211901864580239.mTC7zJ
02591 ◆GqrOSDYjeQ
2008/05/28(水) 01:32:26因みに専ブラはJane使ってるんだ。
それに死ぬほど規制に困るってわけじゃないからw
02601 ◆GqrOSDYjeQ
2008/05/30(金) 00:58:05そして前回うpした奴まだ動作確認してなくて適当に作ったツールで
動作確認してみたら案の定、細かいバグがあったので修正
↓
ttp://www-2ch.net:8080/up/download/1212075920884631.SEMXyk
ツリー形式のデータ管理が強力な機能だったという事に今更気づいて
仕事の昼休み飯食いながら心の中で狂喜乱舞。
今まで何か敷居が高い気がして実装を避けてたのが馬鹿みたいだ。
これ使えばツリービューでのデータ管理が高速かつ相当楽になりそう。
※今まで逐次データを確保して出力させるという無駄で素敵な実装してたwwwww
自己参照構造体以外に便利なデータ管理ってないのか今度探してみよう
02611 ◆GqrOSDYjeQ
2008/05/30(金) 01:05:06CreateToolhelp32Snapshotでアクセス拒否されるんだが、
これの対処法って何かあるのかな?
やり方としてVirtualProtectExでアクセス権取得すれば
できるような気がしないでもないけど。
誰か知ってる奴いない?
0262デフォルトの名無しさん
2008/05/30(金) 03:20:42「君、独り言気持ち悪いからアクセス拒否するわw」
02631 ◆GqrOSDYjeQ
2008/05/31(土) 12:28:24独り言みたいですいません
でもここは俺のメモ帳だから仕方ないんですwwww
0264デフォルトの名無しさん
2008/05/31(土) 22:31:1702651 ◆GqrOSDYjeQ
2008/05/31(土) 23:26:52その気持ちは良くわかるぜ!
簡単にできる方法があるけど後々のこと考えて
凝った作りにしようとしてイライラするとかもよくある。
その他にはロジックの全体像は見えてるけど、
見えきってしまってコーディングがめんどくさくなるとかなw
0266デフォルトの名無しさん
2008/05/31(土) 23:28:5502671 ◆GqrOSDYjeQ
2008/05/31(土) 23:32:48なるほど。確かに環境は大事かも。
俺のフォント環境はTerminalの10に設定してるな。
秀丸はMSゴシックだったかもしれんがVSはTerminalのはず
02681 ◆GqrOSDYjeQ
2008/06/01(日) 23:52:40↓
ttp://www-2ch.net:8080/up/download/1212330876167085.q2hTnN
着目して欲しいのはHOGEフォルダにある「BinToStr.c」。
概要を説明すると例えば0x12, 0x34, 0x56という3バイトの
バイナリデータがあるとする。
上記のデータが格納されているバッファをBitToStrに投げると
"123456\0"という文字列に変換してくれるという代物。
何故これを作ったのかというと例えばINIファイルに
[BIN]
Binary=00123456
とかいうKEY定義を読み込んだのはいいけど
実際読み込んだものは文字列となっているから
その後バイナリ変換しなきゃいけないから。
実は当初、StrToIntExのSTIF_SUPPORT_HEX使ってたんだけど
あれ4バイトまでしか対応してない事に気づき「クソがああああああ!!」と
喚き散らしながら自作で作った。
用途は少ないけどWriteProcessMemoryの指定バッファの中身は
バイナリじゃなきゃダメだから、そういう時役に立つと思う。
やっぱ可変長対応がいい。
02691 ◆GqrOSDYjeQ
2008/06/02(月) 00:00:34/* アス */
BinToStrA(LPBYTE lpData, DWORD dwSize);
/* ウニ */
BinToStrW(LPWORD lpData, DWORD dwSize);
lpDataに変換バイナリデータ
dwSizeに変換するバイトサイズ
という仕様なんだけど、実はこれlpDataのバッファサイズが
文字列変換後のバッファサイズを満たしてないと
オーバーフロー起こすというミラクルな仕様。
バッファサイズチェックする仕様にするべきなんだろうけど
面倒だったので修正しないまま公開してるから突っ込まないでくれw
戻り値を変換後のデータサイズにしてるんだけど、これは引数を
もう一つ設けてそっちに格納させて戻り値をFALSE or FALSE以外に
させたの方がいいんだろうかと迷い気味。
02701 ◆GqrOSDYjeQ
2008/06/02(月) 00:09:49別関数のStrToBinのこといってた
BinToStrは逆でReadProcessMemoryとかの用途で使用
0271デフォルトの名無しさん
2008/06/02(月) 01:16:43どうでもいいか。 どうでもいいついでに、C++とかjavaとかC#やんねーの?
02721 ◆GqrOSDYjeQ
2008/06/02(月) 01:47:04こういう場合、バイナリって表現は間違ってたか
パックとかそういった表現の方が正しいのかな。
まあ、あまり気にしないでくれw
C++とC#はやった事ないけどJavaは学生時代やった事あるよ
もう覚えてないけどListener使って簡単なアプレットまでやった気がする。
その当時わからなかったけど今思うとあれはウィンドウプロシージャ
みたいなものだったんだなぁ。
JavaもC#もそうだけどガベージコレクション機能はメモリ管理気にしなくて
すごく便利だけど、俺が組むと多分変な組み方してオブジェクト参照させたままで
リークさせたりとかガベージコレクションの罠にはまりそうだw
0273デフォルトの名無しさん
2008/06/02(月) 02:02:04ああ、あんま気にしてねー。 俺の認識が一般的でない可能性も無視できないくらい大きいから。
まぁ、後でちゃんと具ぐる。 たぶん。 ぐぐってもわかんねーか?
いや大丈夫だ! なんとなくそんな気がする。 < 酔ってる。
C++とかjavaってのは、OOPな意味でかいた。 そのほうが直感的な気がしたから。
あ、あと、pureC だけよりは、転職有利な気がしたから。 < 後付
0274デフォルトの名無しさん
2008/06/02(月) 07:35:40まぁ分からない事や調べたい事があったら何でも訊くと良いよ。
02751 ◆GqrOSDYjeQ
2008/06/02(月) 22:02:57そうか酔ってるのかw
そういえば本格的にオブジェクト指向プログラミングに
挑戦した事ないなぁ。
Cに固執してるわけじゃないんだけどCをもっと深く理解したいと
思っていて、でも"どこまで"が自分にとって納得できるのかと
聞かれると"どこまでも"という答えにたどり着くんだよね。
どの辺りで別言語に移るかという見極めは難しいw
俺だけかもしれない
>>274
まだこのレベルなんだ。
でも、スレ建てた当時より1歩ぐらいは進んでると思うんだwwww
それにしてもスレ立てて1年半でたった300レスぐらいしか
進んでないのと俺が未だにココに住み着いてる事が驚きだ。
02761 ◆GqrOSDYjeQ
2008/06/02(月) 22:39:08ディレクトリ自動作成する関数作ってたんだが、
UNICODE対応関数がなかったんでしょうがなく
WideCharToMultiByteを使ってUNICODE→ASCIIに変換かけていた。
実装してる最中に一つ疑問があった。
パラメータのCP_ACPやCP_THREAD_ACPのフラグがあったんだが
それがいまいち理解できない。
とりあえず調べてみてCP_THREAD_ACPがよさげ的な事を
かかれていたからそれ使ってるんだが。。。
今度改めて調べてみるかー。
02771 ◆6PxB12xDpA
2008/06/11(水) 23:26:23話をしたり聞かせてもらったりで、普段そういうビジネスとかを
観点とした会話は中々する機会がないからそれなりに有意義な
時間を過ごせたんじゃないかと思う。
(少なくとも休日一日中コード書いてるよりはアクティブだw)
コンサルの中で
「その年齢でこういう所に来る人は非常に珍しいですね」
と聞かれて俺が
「今の現状で果たして1年後、自分がどうなっているのか不安だからです」
と答えると相手は
「不安と思うのは不満があるからだと思います」
という考えを聞かせてくれたのが一番印象に残ってる。
その現状というのは職場という意味だったんだけど、
あえて職場という単語を出さなかった。
いわれて再認識したけどやはりそういう事なんだなと思うw
ただ、最近の転職活動に関しても疑問がでつつあるので
いったん活動をやめて自分を見つめなおす為に
色々なセミナーに参加して色々な人の話とか聞いてみたい
と思っていたり。
そしてまたコテハン忘れてしまったwwww
0278デフォルトの名無しさん
2009/01/31(土) 11:12:400279デフォルトの名無しさん
2009/03/12(木) 10:38:040280デフォルトの名無しさん
2009/04/12(日) 20:38:25■ このスレッドは過去ログ倉庫に格納されています