Win32API質問箱 Build ..
[2ch|▼Menu]
116:デフォルトの名無しさん
08/08/06 00:31:34
ヘッダファイルをパースする方がまだマシじゃね

117:デフォルトの名無しさん
08/08/06 00:53:19
前はwin32api.csvってのがあったな

118:デフォルトの名無しさん
08/08/06 01:03:55
doxygenに食わすと判りやすい形でだしてくれる、ってな話を
大昔にradium softwareあたりで読んだけど

119:デフォルトの名無しさん
08/08/06 01:18:42
>>117
win32api.csvって付かなくなったの?

120:デフォルトの名無しさん
08/08/06 02:56:34
通常のマウス操作とmouse_event等で擬似的に生成されたマウス操作とを判別するにはどうしたらいいんでしょうか。

121:デフォルトの名無しさん
08/08/06 04:59:56
不可能

122:120
08/08/06 09:16:02
おお、ばっさり切られました。
今チート対策研究中なんですが、オートマウス防止って難しいんだなあ。

123:デフォルトの名無しさん
08/08/06 09:40:38
マウスの軌道でも監視してて不自然な挙動してたら撥ねるとか

124:デフォルトの名無しさん
08/08/06 10:45:17
>>116-118
ありがとうございます。doxygenちょっと試してみます。

125:デフォルトの名無しさん
08/08/06 10:46:37
>>120
XP以降になるけどRaw Input APIとかってどうなの?

126:デフォルトの名無しさん
08/08/06 12:24:31
>>122
チートはされても問題ないシステムを作れ。つーか操作系はチートに分類すべきではないし基本的にブロックできない。
nProみたく頭の悪いことをしたら駄目だぞ。

127:デフォルトの名無しさん
08/08/06 12:38:47
nProtectのようなコードを書いたらプログラマとして終わりだよな。

128:デフォルトの名無しさん
08/08/06 13:14:10
というかそんなソフトの需要がある現状が問題じゃないのか
オンラインゲームでチートする馬鹿がいるからだろ

129:デフォルトの名無しさん
08/08/06 13:33:00
そりゃ、泥棒がいるから鍵つけなきゃならない世の中がおかしい、と言うようなもんで
正しいけど現実的じゃないような。

130:デフォルトの名無しさん
08/08/06 13:39:08
OS側で細かく権限制御できないんだからサードパーティでやるしかないだろ

131:デフォルトの名無しさん
08/08/06 13:51:21
そもそもCreateRemoteThreadとかRead/WriteProcessMemoryなんて
チート御用達APIが一般アプリで使い放題というWindowsのセキュリティの甘さが問題

132:デフォルトの名無しさん
08/08/06 14:32:24
オープンソースのOSで動かすもののほうが、何でもやりたい放題にできるべ。

133:デフォルトの名無しさん
08/08/06 14:45:20
↑話を理解してない馬鹿

134:デフォルトの名無しさん
08/08/06 14:47:18
理解できないとそれしか貼り付けられないバカがまた来たか

135:デフォルトの名無しさん
08/08/06 14:58:36
↑話を理解してない大馬鹿

136:デフォルトの名無しさん
08/08/06 15:11:06
チョン製だから仕方ない・・・

137:デフォルトの名無しさん
08/08/06 16:29:54
>>125
そういえば、MAMEがRaw Input APIを使うようになって
JoyToKeyが使えなくなったという話を聞いたことがあるな。

138:デフォルトの名無しさん
08/08/06 17:15:36
アドレスバーみたいにエディットボックスにいくと自動で全選択させるエディットボクスをつくるAPIを教えてくださいm(_ _)m

139:デフォルトの名無しさん
08/08/06 17:18:41
自分でイベントをハンドルしてEM_SETSELでも送れ

140:デフォルトの名無しさん
08/08/06 17:38:17
>>138
あれはComboBoxの機能だろ

141:デフォルトの名無しさん
08/08/06 18:59:42
レスありがとうございますm(^ ^)m
どうやら自分はサブクラス化とかわからないそうなので
ボンボボックスを代用したいと思います!

142:デフォルトの名無しさん
08/08/06 19:12:54
>ボンボボックス
0点

143:デフォルトの名無しさん
08/08/06 19:14:12
>ボンボボックス
ワロスw

144:デフォルトの名無しさん
08/08/06 19:58:54
>>142-143
そういう揚げ足取りいらないから。

145:デフォルトの名無しさん
08/08/06 20:01:33
ここは面白い発言に笑うことも許されない陰気なインターネットですね

146:デフォルトの名無しさん
08/08/06 20:51:42
>>138
EN_SETFOCUSがきたらEM_SETSELするだけかと

147:デフォルトの名無しさん
08/08/06 21:04:55
>>144
あげあしっていうか、ボンボでなけりゃスルーされたとこだけど、なにせボンボだからなぁ

148:デフォルトの名無しさん
08/08/06 21:16:35
お礼レスなんてスルーでいいだろ

149:デフォルトの名無しさん
08/08/06 21:56:58
どうでもいいが、テキストの途中を編集しようと位置決めしてクリックしたのに
勝手に全選択されて、もう一度クリックしないといけないUIはイライラする

150:デフォルトの名無しさん
08/08/06 22:13:24
勝手にイライラしとけば?

151:120
08/08/06 22:56:43
今回チート対策を調べているのは自分の勉強の側面が強いです。

>>123
それは考えてました。
判定に自分のセンスが試されそうな話ですね。

>>125
ざざっと調べてみましたが、使えそうな匂いがしますね。
これから詳しく調べてみます。

>>126
チートはされても問題ないシステムを作れ、との言葉、心に留めます。
今回はテーマが違うのであれですが。

152:デフォルトの名無しさん
08/08/06 23:32:24
>>20

writefileで何を書き込めば良いんでしょうか?
createfileのときはドライブを開けば良いんですよね?

153:デフォルトの名無しさん
08/08/06 23:38:18
nProって何やってるわけ?

154:デフォルトの名無しさん
08/08/06 23:38:47
監視

155:デフォルトの名無しさん
08/08/07 01:12:55
rootkitみたいなこと

156:デフォルトの名無しさん
08/08/07 01:57:18
チート対策の勉強といいつつ実はチート方法を勉強したいのだろう

157:デフォルトの名無しさん
08/08/07 06:51:42
>>153
rootkitのためのネイティブAPIのフックとか時間関係をいじれなくするためのAPIのフックとか、ソフトウェアからのキー入力をはじくためのフィルタドライバじゃね。
結果、サードパーティの特殊なハードが使えんし(6ボタン以上あるマウスとか自由に割り当て可能なキーのあるキーボードとか)
OSのバージョンがあがるたびにブルースクリーンだすような代物。

158:デフォルトの名無しさん
08/08/07 07:51:06
ダブルバッファリングについて質問です。
子ウインドウ(ボタンやボックスなど)が多数存在する状況で、ウインドウ全体を再描画したいのですが、ちらついてしまいます。
まず子ウインドウの内容も全部まとめて一つのオフスクリーンに描画してからBitbltで画面に表示、ということが出来れば、と考えたのですが、方法が分かりません。
よろしければ方法を教えていただけないでしょうか。もしこの方法で無理なら、ちらつきを抑える代替案を挙げていただけないでしょうか。
よろしくお願いします。

159:デフォルトの名無しさん
08/08/07 07:56:20
> 6ボタン以上あるマウスとか自由に割り当て可能なキーのあるキーボードとか
そもそもこういうの自体OSのバージョン上がった時にドライバ用意できないと動かない可能性高いが

160:デフォルトの名無しさん
08/08/07 09:09:48
>>158
親にWS_CLIPCHILDRENをつければ、子をオフスクリーンに描く必要はないんでない

161:デフォルトの名無しさん
08/08/07 11:26:43
3DのRPGを作ろうと思っているのですがC言語とC++を一通り学んだので
Win32APIで、ゲームを作る上で必須な項目
ってなんですか?
自分で調べた結果必要だと思った↓
GDI描写、フォントとテキスト、入力処理、ウィンドウ操作、メニュー、ビットマップ、
アニメーション、を勉強しました。
他にこれはやったほうがいいよ、というのがあったら教えてください
Win32APIの基礎を覚えたらDirectXの勉強をしようと思います。

162:デフォルトの名無しさん
08/08/07 13:01:37
このスレで聞かれても、Win32APIを勉強しろとしか答えようがないがw

163:デフォルトの名無しさん
08/08/07 13:11:05
ものすごく遠い道のりだな
気づいたときにはみんな大人になっていたというオチだ

164:デフォルトの名無しさん
08/08/07 13:26:40
jpegやpngを表示するにはどうすればいいんですか?
ファイルヘッダーを文字で表示することは出来たのですが、ここからどうしていいかが分かりません。
詳しい手順を教えてくれませんか?

165:デフォルトの名無しさん
08/08/07 13:37:59
Gdiplus::Image img(L"hoge.jpg");
Gdiplus::Graphics g(hdc);
g.DrawImage(&img, 0, 0);

166:165
08/08/07 13:53:19
GDI+を使えばいいんですね。
ありがとうございます。

ただ、上手くいえないんですけど、そういうのって自分で書けないんですか?
CreateCompatibleDCとかLoadBitmapの中身が見てみたいんですけど、どこかで見れますか?

167:デフォルトの名無しさん
08/08/07 13:55:03
自分でjpeg書きたいなら、libjpeg、libpngのソース見たり利用したりすればいいじゃない。

168:デフォルトの名無しさん
08/08/07 14:00:12
CreateCompatibleDCについてはwineのソースでも読んでみたらいいんじゃねえのか

それはそれで楽しいとは思うが実にはならないと思う

169:164
08/08/07 14:09:49
レスありがとうございます。
紹介してもらったものを見てみましたが、自分には早すぎたみたいです。
何年後かに挑戦します。

170:デフォルトの名無しさん
08/08/07 17:03:20
日経ソフトウェアで前に紹介されてたな…

171:デフォルトの名無しさん
08/08/07 17:05:02
JPEGのエンコーダ、デコーダ実装で一冊本になってるよ。

172:デフォルトの名無しさん
08/08/08 00:46:48
なんか本が一冊でてたな
C++的には全然イケてないコードだったのは覚えてる

173:デフォルトの名無しさん
08/08/08 01:00:04
DCTが分かればjpegなんて大したこと無いよ

174:デフォルトの名無しさん
08/08/08 07:16:18
このスレにWikiなんてあったんだなw

175:前スレVirAlloc相談者
08/08/08 07:51:49
また、からかわれ覚悟で出て来ましたですヨ。
先ず、懸案の VirtualAlloc() などの件は無事終わった。いろいろに感謝。

チラ裏になるが、VirtualFree() の flag の指定が悪く、使った後の解放
が出来てなくて、5MBのJpeg写真を読み込んで、31MBのDIBを吐き出す操作
を27回繰り返すと、「この操作を行うにはメモリが足りません」とか宣
まわった。Jpeg解凍のDLLは、Dos時代から使っているソースから自分でコ
ンパイルしたもの。VirtualAlloc()関係のソース例は意外に少ない印象で
一時困ったが、お笑いなのは、自分のプログラム内にもう使用例があって
これで解決した次第。因みに、RamDisk操作で

//diskio.c Copyright (C) 1999-2003 K.Takata
#define AllocDiskIO(siz) VirtualAlloc(NULL, siz, MEM_COMMIT, PAGE_READWRITE)
#define FreeDiskIO(buf) VirtualFree(buf, 0, MEM_RELEASE)

がソースにあった。k.Takataさんに改めて感謝。


176:デフォルトの名無しさん
08/08/08 08:41:51
もう出てこなくていいよ・・・

177:デフォルトの名無しさん
08/08/08 09:14:31
ああ、new/mallocでいいんじゃね?っていう話?

178:デフォルトの名無しさん
08/08/08 09:36:14
>>175
前スレもそうだが、こいつって質問者を装って自己陶酔しまくった日記書いてるだけなんだよな
こういう自己中な奴ってリアルでも空気読めなくて周囲からウザがられてるんだろうな

179:デフォルトの名無しさん
08/08/08 09:44:38
>>175
LSI86-C という脳内コンパイラについて教えてください。

180:デフォルトの名無しさん
08/08/08 11:33:14
virtualFree(前スレVirAlloc相談者);

181:デフォルトの名無しさん
08/08/08 11:41:36
>>176-180
かまうなよ
かまう奴が居るからこの手のは居座る

182:デフォルトの名無しさん
08/08/08 11:42:10
error C2065: 'virtualFree' : 定義されていない識別子です。

183:デフォルトの名無しさん
08/08/08 11:47:43
>>181
かまってほしくない人はレスしないでください

184:デフォルトの名無しさん
08/08/08 21:15:26
#include <windows.h>
#define APP_NAME TEXT("Sample_MainWindow")

typedef struct _ThreadParam {
HWND owner;
POINT point;
} ThreadParam;

DWORD WINAPI ThreadFunc(LPVOID vdParam){
HDC hdc;
RECT rect;
ThreadParam param;

_ThreadParam { の_って付けるとどういう意味があるんですか?

185:デフォルトの名無しさん
08/08/08 21:21:42
アンダースコア+大文字で始まる識別子は言語によって予約されているので、
構造体タグにそのような名前をつけるのはよくありません。

もしお読みの本かなにかにそのようなコードが載っているのであれば、
今すぐ窓から投げ捨ててください。

186:デフォルトの名無しさん
08/08/08 21:22:59
いや、誰かが拾って読んでしまうかもしれん。
焼き捨てるべきだ。

187:デフォルトの名無しさん
08/08/08 21:27:20
「Windowsゲームプログ○ミング」という本なのですが、捨てたほうがいいのですか・・・。
専門学校の教科書なんですけど捨てるのはやばいので金庫に入れておきます。
学校で使うときに出します。

188:デフォルトの名無しさん
08/08/08 21:32:13
そんな本を教科書に使うってことは、どうせ専門学校だろ。
人生終わったな。
悪いことは言わん。
今すぐやめてコンビニの店員にでもなるんだな。

189:デフォルトの名無しさん
08/08/08 21:36:39
すいませんもう200万払っちゃったので・・・。
後の祭りですね・・・。
ゲームクリエイター学科なのにゲーム会社に就職は1割以下で
ほとんどが工場のベルトコンベアーの保守プログラム関係みたいです(最近知った)
愚痴ってすいません・・。
独学で勉強してがんばります!
それでは失礼します。


190:デフォルトの名無しさん
08/08/08 21:37:35
>>185-188
typedef struct _FILETIME {
  DWORD dwLowDateTime;
  DWORD dwHighDateTime;
} FILETIME, *PFILETIME, *LPFILETIME;

Win32SDKのヘッダだってそうなってるんだが。
馬鹿じゃねーの?

191:デフォルトの名無しさん
08/08/08 21:38:20
>>187
一応補足しとくと、

アンダースコア+(アンダースコア or 大文字) で始まる識別子は常に予約されている。
その他のアンダースコアで始まる識別子はファイルスコープで予約されている。
予約済み識別子を使用した場合の動作は未定義。

一般的な流儀として構造体タグは、
typedef struct ThreadParam_ { } ThreadParam; // お尻にアンダースコアつけるとか、
typedef struct tag_ThreadParam { } ThreadParam; // tag_ と書くとか、
typedef struct ThreadParam { } ThreadParam; // 何もつけない。

192:デフォルトの名無しさん
08/08/08 21:39:02
>>191
ありがとうございます_の謎が少し理解できました

193:デフォルトの名無しさん
08/08/08 21:40:58
同人ゲーム作りが近道と言ってみるテスト
学校なんて何も教えてくれないよ。就職斡旋するだけだからw

194:デフォルトの名無しさん
08/08/08 21:43:15
そもそもゲーム業界なんか目差してる時点で人生終わっとる

195:デフォルトの名無しさん
08/08/08 21:45:32
>>190
処理系のために予約されているのだから処理系付属のライブラリが使用してもなんら問題はない。

196:デフォルトの名無しさん
08/08/08 21:56:18
>>195
処理系付属のライブラリ=Win32SDKとでも言いたいのか
馬鹿丸出し

197:デフォルトの名無しさん
08/08/08 21:59:17
本職組み込み、趣味でゲーム作りが最強

198:デフォルトの名無しさん
08/08/08 22:02:17
処理系だの未定義だの不定だのいう宗教じみた言語厨ってどこにでもいるよな
MS自体そんな事なーんも考えてないのにねぇ

199:デフォルトの名無しさん
08/08/08 22:02:22
WSDKは単体配布だけじゃなくて、VC++付属のやつもあるが。
コンパイラについてくるぐらいだから処理系付属といっても差し支えないだろ。


200:デフォルトの名無しさん
08/08/08 22:05:25
だいたい処理系は未定義な動作をどういう動作にするか自由に決められるんだから、
処理系を作ったのと同じ組織が書いたコードが動作の未定義な部分を含んでいてもなんら差し支えない。

201:デフォルトの名無しさん
08/08/08 22:06:53
> コンパイラについてくるぐらいだから処理系付属といっても差し支えないだろ。
こんなアバウトな俺様定義するくせにアンダースコアには拘るのか

202:デフォルトの名無しさん
08/08/08 22:13:44
訳:かまってほしいな

203:デフォルトの名無しさん
08/08/08 23:28:35
>>175
>#define FreeDiskIO(buf) VirtualFree(buf, 0, MEM_RELEASE)

あー、そのコードバグってますんで、以下のでよろしく。
#define FreeDiskIO(buf) VirtualFree(buf, 0, MEM_RELEASE | MEM_DECOMMIT)

204:デフォルトの名無しさん
08/08/08 23:39:00
ここで奴がキモイ自己陶酔日記を引っさげて登場

 ↓ ↓ ↓ ↓

205:デフォルトの名無しさん
08/08/08 23:43:19
CryptCreateHashで作った
HCRYPTHASHオブジェクトは使いまわしていいのでしょうか?
CryptHashDataとかでハッシュ値生成して使い終わったら
一度CryptDestroyHashで開放すべきですか?

206:デフォルトの名無しさん
08/08/08 23:46:59
リファレンス嫁よ。ゆとりが

207:デフォルトの名無しさん
08/08/08 23:52:43
わからないんならレスしないでください

208:デフォルトの名無しさん
08/08/08 23:56:23
>>207
リファレンス読めば理解できると分かっている

209:デフォルトの名無しさん
08/08/09 00:01:58
>After one of the functions from this list has been called,
>CryptHashData and CryptHashSessionKey cannot be called.

すみませんこの部分を見落としてました><;
どもです。

ちなみに>>207は私じゃないですw

210:デフォルトの名無しさん
08/08/09 00:09:26
ウィンドウを綺麗にC++のクラスで纏めるにはどのAPI使えばいい?wndclassのwndprocにクラスの関数入れたらエラーになるんですが・・・

211:デフォルトの名無しさん
08/08/09 00:12:39
RegisterClass(Ex)
CreateWindow(Ex)

212:デフォルトの名無しさん
08/08/09 00:13:27
>>210
そんなんじゃC++もたいしたレベルじゃねぇだろお前
ヒント:static

213:デフォルトの名無しさん
08/08/09 00:19:02
URLを指定できるwavファイルを再生するAPIはありますか?


214:デフォルトの名無しさん
08/08/09 00:36:33
具体的にどういうこと?

215:デフォルトの名無しさん
08/08/09 00:41:48
ダウンロードした音声ファイルをユーザが使用することのないように、
ネット上の音声ファイルをソフト内で再生したいです。

216:デフォルトの名無しさん
08/08/09 00:45:45
俺なら数分で作れるな

217:デフォルトの名無しさん
08/08/09 00:46:45
ちなみにVB6を使っています

218:デフォルトの名無しさん
08/08/09 00:52:16
VB6なんてとっくにサポート切れてるのにまだ使ってる人いるんだね・・・

219:デフォルトの名無しさん
08/08/09 00:52:57
今すぐC#に切り替えることを勧める。VBなんてもはや廃れつつある言語。

220:デフォルトの名無しさん
08/08/09 00:55:04
そうですか、たまたまこれしか家にはないんですよね・・・

221:デフォルトの名無しさん
08/08/09 00:57:21
大丈夫開発環境はただで揃うから

222:デフォルトの名無しさん
08/08/09 01:00:02
そうなんですか!
そういえばVC++6.0もあったのですが(使ってない)
やるなら何がいいのでしょう?

223:デフォルトの名無しさん
08/08/09 01:06:48
簡単にいきたいならC#

224:デフォルトの名無しさん
08/08/09 01:08:01
たまたまVB6が家にあるってのもおかしな話だな

225:デフォルトの名無しさん
08/08/09 01:13:41
過去に親が使ってました

226:デフォルトの名無しさん
08/08/09 01:19:10
>>224
俺の家にはたまたまVC6ProとVS2003ProとVS2005Proがあるけど
結局VC6しか使ってない

227:デフォルトの名無しさん
08/08/09 01:19:22
リアル小学生な感じがしてきた・・・

228:デフォルトの名無しさん
08/08/09 01:27:07
VisualStudio6.0があります

229:デフォルトの名無しさん
08/08/09 01:27:39
もちろんたまたま親が

230:デフォルトの名無しさん
08/08/09 01:28:48
割れ厨()笑だらけですね

231:デフォルトの名無しさん
08/08/09 01:31:47
こんなのがプログラミングしようとしててすみません。

232:デフォルトの名無しさん
08/08/09 01:35:03
昔と違って3万もあればVS2008std買えるからいい時代になったな。SDKはネットで簡単に入手できるし。

233:226
08/08/09 01:54:53
>>232
VS2003ProとVS2005Proが学生の時にtheSpoke版が4kで買えて衝撃的だったんだが
今はDreamSparkなんてやってるんだよなぁ

もうMSが何をしたいのか分からなくなってきた・・・

234:デフォルトの名無しさん
08/08/09 01:56:42
市場を独占気味にしたい

235:デフォルトの名無しさん
08/08/09 01:58:45
Borlandが社名変えたり戻したりしてる間に既に市場独占してただろ

236:デフォルトの名無しさん
08/08/09 02:05:21
いくら無料で手に入る時代でもやっぱ金かけないとダメでしょ
AC版でも学生がン万円出すのはそれなりにしんどいし、
そうして手に入れれば「よし頑張るぞー」って気持ちになれる

237:デフォルトの名無しさん
08/08/09 02:07:55
逆を言えば物にならなかった時に無駄になるのが嫌で
手を出せなかったという人もいるんだろうけどなー

元々そんな奴は物になんねーよと言う意見は取り合えず置いといて

238:デフォルトの名無しさん
08/08/09 02:07:58
うん、君はそうしとけばいいよ。

239:デフォルトの名無しさん
08/08/09 02:15:31
無料配布なんて貧乏人救済システムは要らない
ただでさえ無職ニートが多いこんなご時世に「いつかシェアウエアでガッポリ儲けてやる」とか
つまらない夢を抱く馬鹿が増えるだけ

240:デフォルトの名無しさん
08/08/09 02:33:40
増えたところで俺には関係ない
その馬鹿と同じ次元に居る奴にはつらいのかもしれんが

241:デフォルトの名無しさん
08/08/09 02:35:48
馬鹿で悪かったな
もう死んでも治りそうに無いよ

242:デフォルトの名無しさん
08/08/09 02:49:43
馬鹿は馬鹿なりに前向きに生きればいいだろ

243:デフォルトの名無しさん
08/08/09 02:56:59
もういいから

244:デフォルトの名無しさん
08/08/09 10:57:28
1>------ ビルド開始: プロジェクト: test, 構成: Debug Win32 ------
1>リンクしています...
1>7.obj : error LNK2019: 未解決の外部シンボル __imp__timeGetTime@0 が関数 _ThreadFunc@4 で参照されました。
1>C:\Documents and Settings\****\My Documents\Visual Studio 2008\Projects\test\Debug\test.exe : fatal error LNK1120: 外部参照 1 が未解決です。
1>ビルドログは "file://c:\Documents and Settings\****\My Documents\Visual Studio 2008\Projects\test\test\Debug\BuildLog.htm" に保存されました。
1>test - エラー 2、警告 0
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
このエラーはどうやって直すんですか;;?
msimg32.libはリンカから追加しました。


245:デフォルトの名無しさん
08/08/09 11:03:14
>>244
winmm ってライブラリは無い?

246:デフォルトの名無しさん
08/08/09 11:22:33
>>245
追加したらできました
ありがとうございます

247:デフォルトの名無しさん
08/08/09 13:23:37
環境スレ行けよ…

248:デフォルトの名無しさん
08/08/09 14:29:07
行きたきゃお前が逝けよ

249:デフォルトの名無しさん
08/08/09 15:12:25
>>247
貴方の気分を害したことを謝罪いたしますと同時に遺憾の意を表します。
誠に申し訳ございませんでした

250:デフォルトの名無しさん
08/08/09 15:35:53
慇懃無礼だな

251:デフォルトの名無しさん
08/08/09 16:12:19
__imp__timeGetTime@0 でググれば分かるけどな

252:デフォルトの名無しさん
08/08/09 16:41:06
テトリスやブロック崩しくらい作れないとWin32APIの基礎を
覚えたとは言えませんか?

253:デフォルトの名無しさん
08/08/09 16:46:17
うん。

254:デフォルトの名無しさん
08/08/09 16:47:48
テトリスやブロック崩しはアルゴリズムのほうがメインになるからWin32APIとは関係ない

255:デフォルトの名無しさん
08/08/09 16:48:00
テトリスやブロック崩しなんて、大半がゲームロジックでほとんどAPI使わないだろ。
ペイントの方が一通りの要素が揃っている。

256:デフォルトの名無しさん
08/08/09 17:04:30
ペイントなんて、大半がペイントロジックでほとんどAPI使わないだろ。

257:デフォルトの名無しさん
08/08/09 18:21:15
GDIの基本操作を学ぶには良いんじゃないか?
傾斜・反転・回転以外はほぼGDIに丸投げっぽいし。

258:デフォルトの名無しさん
08/08/09 18:44:39
>>250
どうして慇懃無礼なんでしょうか?

259:デフォルトの名無しさん
08/08/09 18:47:59
>>250
俺のダチが世話になったな
今度群馬こいいい所紹介してやるからよ

260:デフォルトの名無しさん
08/08/09 21:08:00
ID出んから言いたい放題

わろす

261:デフォルトの名無しさん
08/08/09 21:53:00
質問です。既定のブラウザから例として「ぬるぽ ガッ」という検索結果のページをボタン一発で表示させたいのです。
詳しく言うと、

@プログラムのボタンを押す
A既定のブラウザで「ぬるぽ ガッ」という検索結果のページがブラウザが起動して結果が表示される

といった具合のものを作ろうと思っています。
既定のブラウザの取得方法は、
://www.atmarkit.co.jp/fdotnet/dotnettips/652getdefaultbrowser/getdefaultbrowser.html

でできましたが、その他ができません。
知恵を貸して頂けないでしょうか?

262:デフォルトの名無しさん
08/08/09 21:57:36
つ【俺の知恵】

263:デフォルトの名無しさん
08/08/09 21:57:54
うるちえ

264:デフォルトの名無しさん
08/08/09 21:59:29
URLリンク(www.atmarkit.co.jp)
こっちの方法でやればいいじゃんていうか.NETじゃん

265:デフォルトの名無しさん
08/08/09 21:59:46
>>261
ShellExecute

266:デフォルトの名無しさん
08/08/09 22:04:39
>>261
#include<windows.h>
int main(){
ShellExecute(NULL, "open", "URLリンク(www.google.co.jp)", NULL, "", SW_SHOWNORMAL);
return 0;
}

267:デフォルトの名無しさん
08/08/09 22:06:16
>>264
参考ページが.NETでしたね。
私の言語はPASCALです。

>>265
function ShellExecute(hWnd: HWND; // 親ウィンドウのハンドル
Operation : PChar // 操作
FileName : PChar // 操作対象のファイル
Parameters: PChar // 操作のパラメータ
Directory : PChar; // 作業ディレクトリ
ShowCmd : Integer)// 表示状態
: HINST;

ここでは操作がopen、ファイルがレジストリから取得したブラウザファイル、どこにそのアドレスを入れるのでしょう?


268:デフォルトの名無しさん
08/08/09 22:06:32
>>266
クエリストリングのbtnGとか要らないんじゃね?

269:デフォルトの名無しさん
08/08/09 22:07:13
>>266
っと私が打ち込んでいる間に・・・具体的なコードありがとうございます。
さっそく解決してしまいました。

ありがとうございました。


270:デフォルトの名無しさん
08/08/10 09:23:59
.NET に PictureBox というコントロールがあるのですが
これを VC++ で表現するならば
コントロール上にビットマップイメージを貼ってるだけに相当するんでしょうか?
よろしくお願いします

271:デフォルトの名無しさん
08/08/10 10:03:23
>>270
Win32だとStatic Controlに相当するな。
IDEのダイアログエディタだと「Picture Control」と表記されているが、
これはダイアログリソース上の表現で、結局はStatic Controlが生成される。

272:デフォルトの名無しさん
08/08/10 11:24:30
>>271
ありがとうございます
Static Control にスタイルが SS_BITMAP って感じですね

273:デフォルトの名無しさん
08/08/10 21:19:38
SendMessageTimeoutの引数であるpdwResultと
SendMessageTimeout関数自体の戻り値に違いは出るのでしょうか?

お願いします。

274:デフォルトの名無しさん
08/08/10 21:21:46
違いは出ます。意味が違いますから。

275:273
08/08/10 21:24:47
>>274
具体的にどういった違いなのでしょうか?
MSDNなどの資料には同じようなことしか書かれてなくて・・・

参考URLの掲示でもかまわないのでお願いします

276:デフォルトの名無しさん
08/08/10 21:29:03
>>275
lpdwResultはSendMessageの戻り値相当じゃないか。

MSDNより

lpdwResult
1 個の DWORD 型変数へのポインタを指定します。関数から制御が返ると、この変数に、メッセージの処理結果が格納されます。意味は、送信したメッセージにより異なります。

戻り値
関数が成功すると、0 以外の値が返ります。
関数が失敗した場合や、タイムアウトが発生した場合は、0 が返ります。

277:デフォルトの名無しさん
08/08/10 21:29:13
>>275
SendMessageTimeout の hwnd に無効なハンドルを入れた場合など

278:273
08/08/10 21:31:23
>>.276-277
なるほど納得がいきました
ありがとうございます

279:デフォルトの名無しさん
08/08/10 21:32:13
>>275
pdwResultは送ったメッセージに対する戻り値。
メッセージを送った先のプロシージャが返した値。

SendMessageTimeoutの戻り値は、SendMessageTimeoutそのものの結果。

280:デフォルトの名無しさん
08/08/11 11:06:58
RegisterClassExで作ったウィンドウクラスが有効かどうかを判定するAPIを教えてください

281:デフォルトの名無しさん
08/08/11 11:19:08
つ RegisterClass(Ex) の戻り値
つ GetClassInfo(Ex) で取得

282:デフォルトの名無しさん
08/08/11 13:52:41
   直接画面DCには描画せずにバックグランドのDCを介して描画する.
   1行または複数行,描画する場合はバックグランドDCに必要な文字を描画してから
   画面を無効にしてWM_PAINTでBitBltを使い描画させる.
のバックグラウンドDCとは何を指してるのでしょうか?
直接画面DCに描画するのと、バックグラウンドDCを介して描画するのとでは
どのような違いがあるのでしょうか?


283:デフォルトの名無しさん
08/08/11 13:57:47
それを書いた奴に聞けよ

284:デフォルトの名無しさん
08/08/11 14:08:40
メモリDC

285:デフォルトの名無しさん
08/08/11 14:34:55
>>283
掲示板の過去ログに載っていたので聞きようがありません。
>>284
今から調べてきます


286:デフォルトの名無しさん
08/08/11 15:54:00
ダブルバッファ とかそういう話か?
ちらつき防止でやってるだけ

直接DCに描画だと 消しているトコロ も目に見えちゃうからチラツク

287:デフォルトの名無しさん
08/08/11 19:45:18
GdiSetBatchLimitを上げればいいんでねーの?

288:デフォルトの名無しさん
08/08/11 21:36:18
>287

全然違うんじゃね?

GDI関数呼び出しをまとめて性能を上げるのと、一連の描きかけの絵を
バックバッファに描画しておいて描き終わったら前面をInvalidateRect
して(=WM_PAINT発生)からバックバッファから一気に転送(BitBlt)
するのでは見え方が違う。

>286 の言ってることが正解。さらに描画を1シーケンスで完了できない場合、
描画中の絵が見えないと言うメリットもある。

性能向上の方式ではないので性能あげたいならInvalidateRectの
範囲を描画更新したい場所に限定する必要があるし、そういうの
やりたいならGDIでなくDirectXで物理サーフィス×2面のFlipで
やるのが普通。


289:デフォルトの名無しさん
08/08/11 22:15:07
てか消してるところが見えるって何世代前のPCだよw

290:デフォルトの名無しさん
08/08/11 22:17:56
最新のPC

291:デフォルトの名無しさん
08/08/11 22:32:57
>289

最新のPCであっても、GDI関数で描画する時間は人間の一生のような
長い時間ってことが分からない素人かw

消しているトコロがリアルに人間に分からないように処理するには
液晶とグラボの垂直同期周期が60Hzとして、16.6666...msec 以内に
一連の描画処理を完了する必要があるけど?

もちろん一度もVSYNC跨がずに、だ。



292:デフォルトの名無しさん
08/08/11 23:24:41
一連の描画処理が16ms以上かかるってどんだけ重い描画なんだよ

293:デフォルトの名無しさん
08/08/11 23:30:17
でも、次の画面更新タイミングまでが偶々1msだったら・・・?

294:デフォルトの名無しさん
08/08/11 23:40:15
そんなの気にしなくていいよ、今時GDIなんてせいぜいコントロールの描画ぐらいしか使わないんだから

Windows標準のコントロールだって物によってはダブルバッファリングされてなくてちらつくけど誰もそんなの気にしてないし

295:デフォルトの名無しさん
08/08/11 23:42:13
>292

かかるでしょ。

・そのプロセスのプライオリティより高いスレッドやカーネルでの
 より優先度の高い処理が行われる場合。
・そのプロセスのプライオリティより低いスレッドが一定周期で
 ダイナミックブーストされる場合。
・そのプロセス自身が描画処理中に、HDD等の単一リソースにアクセスした場合。
・例えば1280x1024x32bit(フルカラー)の描画面(=5MBytes)をグラボに転送するのに、
 DMA転送が使えなかった場合。
・使えたとしても、メモリと他のデバイス間で先にDMA転送の帯域を食いつぶされていた場合。

いくらでもある。292がMS-DOSでシングルタスクのプログラマか、カーネルの設計者と
いうなら謝るよ。ここWin32API質問箱なので勘違いしてた。

293は「もちろん一度もVSYNC跨がずに、だ。」を読み取ってくれたね。



296:デフォルトの名無しさん
08/08/11 23:44:45
もういいよ

> 例えば1280x1024x32bit(フルカラー)の描画面(=5MBytes)をグラボに転送するのに
今時こんな描画にGDIなんて使わない

アンタだって暗にそう言ってるじゃん

> GDIでなくDirectXで物理サーフィス×2面のFlipでやるのが普通。

297:デフォルトの名無しさん
08/08/11 23:53:08
>>295
こういうKYがいるとテスト工程が無駄に増えるよなw

298:デフォルトの名無しさん
08/08/12 00:00:55
>>297

そうやってシステム見られない自称SEもいるね。
手戻り工数増えるんだよなw

後になって性能が出ない時に言い訳しないようにね。


299:デフォルトの名無しさん
08/08/12 00:09:35
文章から加齢臭がものすごいんですが・・・

300:デフォルトの名無しさん
08/08/12 00:11:58
WPF使えばちらつきなんか無縁

301:デフォルトの名無しさん
08/08/12 00:21:40
とっととCからWPF使えるようにしろと

302:デフォルトの名無しさん
08/08/12 00:25:25
つ MC++

303:デフォルトの名無しさん
08/08/12 00:25:46
ListViewのレポート形式で、表示領域が足りなくて
省略されて表示されているとき(例えば、あいう...)に、
その文字の上にカーソルを持っていくとツールチップが
表示されますが、これを無効に設定することはできない
のでしょうか?

304:デフォルトの名無しさん
08/08/12 00:36:49
>>303
出来る。

305:デフォルトの名無しさん
08/08/12 00:46:45
LVS_EX_INFOTIP,LVS_EX_LABELTIPあたりじゃない?

306:デフォルトの名無しさん
08/08/12 01:26:44
>>305
だと思うのですが、参考になるプログラムが
見つからなくて...

307:デフォルトの名無しさん
08/08/12 01:27:28
フラグの説明読んで書いてみりゃいいだろ
なんで自分から動こうとしないんだよ

308:デフォルトの名無しさん
08/08/12 01:28:02
>>306
普通にググれば見つかるのだが

309:デフォルトの名無しさん
08/08/12 10:19:12
LVS_EX_LABELTIP
Version 5.80.
If a partially hidden label in any list view mode lacks ToolTip text, the list-view control will unfold the label.
If this style is not set, the list-view control will unfold partly hidden labels only for the large icon mode.

別に複雑な操作がいる訳でもなし
このくらい試してみようぜ

310:デフォルトの名無しさん
08/08/12 10:57:03
CS_OWNDCにしたときに増えるメモリってどれくらい?
猫でもをみたらちょっとだけメモリを消費するって書いてあったけど
タスクマネージャを見たけどあんまり変わってないっぽいけど

311:デフォルトの名無しさん
08/08/12 11:38:05
見たまんまだ
確認したならそれを受け入れろ

312:デフォルトの名無しさん
08/08/12 13:35:46
640KBで動く時代からあるAPIdsと説明がそういう風になることもあるw

313:デフォルトの名無しさん
08/08/12 13:40:12
TextOut関数で背景を部分的に変える関数等ありますでしょうか?

314:デフォルトの名無しさん
08/08/12 15:00:59
たかだが背景色だけ変えるなら
SetBkMode で OPAQUE 指定
{ SetBkColor して TextOut } を変えたい単位で分割呼び出し

複雑な背景をどうこうしたいなら
SetBkMode で TRANSPARENT 指定
先に背景を描画しきって
TextOut

315:デフォルトの名無しさん
08/08/12 15:58:29
ShowWindowをAdvancedWindowsのやつでAPIフックしたらアドレス違反になるんだけどなんで??
全プロセスにDLLにして注入ではなく、自プロセスのフックのみでやってる。適当なexeにDLLにして注入してもやっぱり違反。
他のAPIはフックできてる。環境はBCBなんだけど。


316:デフォルトの名無しさん
08/08/12 19:08:36
WriteProcessMemoryでやれ。権限もクリアしていて、それでできなきゃアドレス間違っている。メモリ覗いて確認しろ。

317:デフォルトの名無しさん
08/08/12 20:00:27
>>316
俺VirtualProtectでやってるんだけど
WriteProcessMemoryのほうがいいわけ?

318:317
08/08/12 20:01:46
>>315
その事象で俺が経験した事といえばスタックオーバーフロー

319:デフォルトの名無しさん
08/08/12 20:38:48
どうせエラー値確認していないんだろ

320:デフォルトの名無しさん
08/08/12 21:30:16
アドレス違反で落ちてたらエラー値も何も無いだろ

321:デフォルトの名無しさん
08/08/12 21:58:43
だから何でVirtualProtectのエラーチェックしないの?ゆとり?

322:デフォルトの名無しさん
08/08/12 22:01:10
書き込みでAVになるか、書き換えた関数が呼ばれた時例外発生するか質問者ははっきりさせないといかんな。

323:317
08/08/12 22:09:50
>>321
俺別にエラーチェックしてないとは一言も言ってないんだがwwwww

>>320の言ってる通りアドレス違反で落ちてるんだから・・・・・


多分だけどやっぱ>>315はスタックオーバーフローしてるんじゃない?
GetProcAddressもあわせてAPIフックしてるならその辺を睨んだ方がよさげ
つーかコード掲示するかAdvancedWindowsのページがわからないと
これ以上なんともいえない

324:デフォルトの名無しさん
08/08/12 22:27:47
呼び出し規約かw

325:デフォルトの名無しさん
08/08/13 10:19:47
Ollyか何かで追跡してみれば

326:デフォルトの名無しさん
08/08/13 11:24:58
エディットコントロールの文字列選択の処理ってどうなっているのですか?
どうやって選択範囲を計算してるのですか?

327:デフォルトの名無しさん
08/08/13 11:37:19
GetTextExtentPoint

328:315
08/08/13 12:55:18
コードも例外発生の場所も書いてなくてスマン。
なのに原因を見抜けるってのはもうすげぇな、感謝!例外は置き換えた関数が呼ばれたときにおきてた。
きちんとstdcallだってのを置き換え関数で宣言したら、うまく動くようになった。
BCBとかdelphiは標準だとcdeclとかfastcallとかだったっけ。
とにかくみんなサンクス!!


329:デフォルトの名無しさん
08/08/13 15:10:46
>>327
キャレット位置をどうやって計算しているかわかりますか?

330:デフォルトの名無しさん
08/08/13 15:26:17
一文字ずつ幅を足していく

331:デフォルトの名無しさん
08/08/13 15:34:53
WM_LBUTTONDOWN
クリック位置x.y座標取得
GetTextExtentPoint32関数で得られた文字列のサイズと比較していく、って事ですか?

332:デフォルトの名無しさん
08/08/13 19:09:19
GetTextExtentExPointを流用してもいいけど

333:デフォルトの名無しさん
08/08/13 20:11:50
あるアプリのタブコントロールを別のプロセスから変化させたいのですが
別プロセスからTCM_SETCURSELをSendMessageすると、タブの位置は
変化するものの、TCN_SELCHANGEなどの通知メッセージがアプリ側で
発生しないので、肝心の内容が置き換わりません。
仕方なく、別プロセスから続けてWM_NOTIFYを発生させる事を考えたのですが、
別プロセスからでは構造体(NMHDR)を渡すようなメッセージは
伝わらない様です。
別プロセスからうまくタブが変化した事を通知する方法はないでしょうか。

該当コード
SendMessage(htab, TCM_SETCURSEL, 3, 0);
{ NMHDR nmhdr;
nmhdr.hwndFrom = htab;
nmhdr.idFrom = GetDlgCtrlID(htab);
nmhdr.code = TCN_SELCHANGE;
SendMessage(hmain, WM_NOTIFY, GetDlgCtrlID(htab), (LPARAM)&nmhdr);
}


334:デフォルトの名無しさん
08/08/13 20:29:33
VirtualAllocEx
WriteProcessMemory

335:デフォルトの名無しさん
08/08/13 20:41:43
sendinputを使おうと思って検索したらこんな2種類の書き方が出てきました。

lpKey->type = INPUT_KEYBOARD;

inputKey[cnt].type = INPUT_KEYBOARD;

この -> と [ ].type はどう違うんですか?

336:デフォルトの名無しさん
08/08/13 20:53:59
>>335
C言語スレ池

337:デフォルトの名無しさん
08/08/13 21:30:56
ステータスバーの文字の色を変えるにはどうすればよいですか?

338:デフォルトの名無しさん
08/08/13 21:38:25
MSDN読め

339:デフォルトの名無しさん
08/08/13 21:56:25
>>336
分かりました。

340:デフォルトの名無しさん
08/08/13 22:14:10
>>334
ありがとうございます。
できました。
かなり泥臭いですね・・

341:デフォルトの名無しさん
08/08/14 07:25:29
BitBltする大きさが少し違っただけで、いきなり速度が変わるんですが、なんか理由があるんですか。
あとディスプレイを2つつないでる環境でも、速度が結構落ちるんですが。

342:デフォルトの名無しさん
08/08/14 07:31:47
そりゃそうでしょうね

343:デフォルトの名無しさん
08/08/14 07:54:37
ヒントでもいいから教えて

344:デフォルトの名無しさん
08/08/14 08:11:23
おっ
典型的ゆとり発言

345:デフォルトの名無しさん
08/08/14 09:15:43
知らないならレスしないでください

346:デフォルトの名無しさん
08/08/14 09:52:15
自己解決しました
ありがとうございました

347:デフォルトの名無しさん
08/08/14 11:19:44
間違ってました
やっぱり教えてください

348:デフォルトの名無しさん
08/08/14 14:55:53
教えてもいいが
気に入らない態度がお前の

349:デフォルトの名無しさん
08/08/14 15:50:41
知らないならレスしないでください

350:デフォルトの名無しさん
08/08/14 17:42:44
自己解決しました
ありがとうございました

351:デフォルトの名無しさん
08/08/14 18:46:37
標準入力にデータが存在するかを調べるにはどうすれば良いでしょうか。

_kbhitやPeekConsoleInputを試してみたのですが、リダイレクトされた場合に機能しないようです。
CreateFileでOVERLAPPEDが使えるかとも思ったのですが、Consoleでは無視されると説明されていて
実際試してもうまくいきませんでした。

352:デフォルトの名無しさん
08/08/14 19:22:58
そういうときには実際に読んでみればいいんだよ。

353:デフォルトの名無しさん
08/08/14 19:41:47
DialogBoxやCreateDialogから行くcallback関数に変数等を渡す場合
はグローバルで宣言しておくしかないですか?

354:デフォルトの名無しさん
08/08/14 19:48:42
>>353
DialogBoxParam・CreateDialogParamの初期値で適当な構造体のポインタでも渡しとけ

355:デフォルトの名無しさん
08/08/14 20:00:22
>>352
申し訳ありません、情報が足りませんでした。
入力がない間は他のことをしたいのです。

356:デフォルトの名無しさん
08/08/14 20:04:00
スレッド分けれ

357:デフォルトの名無しさん
08/08/14 20:05:00
>>354
出来ました。ありがとうございます

358:デフォルトの名無しさん
08/08/14 20:20:26
>>356
元が*nixなコンソールプログラムの処理中に、
出来るだけ手を加えずにほんのちょっと通信したかっただけなんで
スレッド分けとかソケットは遠慮していたのですが、やはりそこまでやらないと駄目ですかね。

シグナルとかあればそれでもいいのですが。

359:デフォルトの名無しさん
08/08/14 20:40:50
Win32APIをC++でラッパしたフリーのライブラリ
でお勧めのものがありましたら教えて下さい.


360:デフォルトの名無しさん
08/08/14 20:44:41
Boost

361:デフォルトの名無しさん
08/08/14 20:53:10
URLリンク(msdn.microsoft.com)
これとか?

362:デフォルトの名無しさん
08/08/14 21:08:18
WTLを勧める

363:359
08/08/14 21:57:02
ありがとうございます。
自作ライブラリの参考にしたいので、
単純で解析しやすいのは無いでしょうか?

eGUI++は、相当頑張ればなんとか読めそうでしたが、
WTLの方は[!endif]とか変な記号があってわかりませんでした。


364:デフォルトの名無しさん
08/08/14 22:00:52
へ?俺が見た限り、WTLに[!endif]なんて存在しないけど・・・

365:デフォルトの名無しさん
08/08/14 22:39:08
>>359
STLSoft

366:デフォルトの名無しさん
08/08/14 23:43:56
>>363
[!endif]はVSのプロジェクトテンプレートだろうがw

367:359
08/08/15 08:00:34
Win32APIとなんらかのC/C++コンパイラ・リンカ
があれば使えるようにできるといいなと思います。

つまり、リソースは使わずに、
マクロも極力避けるという感じで。

STLSoftも良さそうですね。


368:デフォルトの名無しさん
08/08/15 11:32:16
Perl.

system ('notepad.exe','abcde.txt');

↑これでメモ帳が開けるんだけど、
win32APIの観点から、なにか
アドバイスはありませんか?

369:デフォルトの名無しさん
08/08/15 11:42:45
ありません

370:デフォルトの名無しさん
08/08/15 12:23:23
何を求めてるのか具体的に書かんと分からんよ
アドバイスって何よ

同じ事をしたいだけならShellExecute

371:デフォルトの名無しさん
08/08/15 13:47:36
Perlは便利というアドバイス

372:351
08/08/15 22:39:32
自己解決しましたので報告します。

GetStdHandleなどで得たハンドルを直接WaitForSingleObjectに入れることが出来ます。
ただしそのままではKeyDownだけではなくKeyUpでもシグナル状態になってしまうため、
WaitForSingleObject+ReadFileまたはWaitForSingleObject+ReadConsoleの組み合わせだけではブロックします。

FlushFileBufferやCancelIOではキーボードイベントをフラッシュする事が出来ず、
他にフラッシュできそうなAPIを見つけることが出来ませんでしたので今回は採用を諦めます。

どうしても直接入力/リダイレクト両対応でノンブロッキングな標準入力を行いたい方は
シグナル状態になった際にPeekConsoleInputで無関係なシグナルを検出し、
その時だけReadConsoleInputでイベントを取り除いてください。
>>356さんの言うようにスレッド化するのも手だと思いますが、ブロックするのでスレッドを終了できなくなるはずです。

373:デフォルトの名無しさん
08/08/15 22:48:15
別にスレッド終了せんでもええやん?

374:デフォルトの名無しさん
08/08/16 01:25:25
CreateThreadまたは__beginthreadexを使用する時に
指定するスタックサイズは皆さん「0」指定で使ってますか?

通常は「0」で問題は無いのでしょうが
もし仮に明示的なスタックサイズを指定している方がいれば
その利点などについて詳しく教えてもらえるとうれしいです。


375:デフォルトの名無しさん
08/08/16 01:46:41
0って言ってもデフォルトサイズを使うって指定しているんだから、サイズによって何が変化するか自分で考えろよゆとり馬鹿

376:デフォルトの名無しさん
08/08/16 01:49:05
・デフォルトのスタックサイズでは足りない場合に増やす
 スタックがあふれるようなアルゴリズムが悪いんだが、やむを得ない場合があるかもしれない

・スタックを減らしてアドレス空間を節約する
 スレッドを大量に作るとき、スレッド1個ごとに何MBも取ってると、アドレス空間の枯渇が早い

という利点は思いつくが、今のところ俺は0以外を指定したことはない

377:デフォルトの名無しさん
08/08/16 04:24:02
STACK_SIZE_PARAM_IS_A_RESERVATION が指定できない2000以前じゃデフォルトより下げても意味なかったし0以外ねーな


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4153日前に更新/129 KB
担当:undef