- 1 名前:デフォルトの名無しさん mailto:age [2007/09/08(土) 21:41:22 ]
- スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。
やさしいお兄さんやお姉さんたちが答えてくれるかも。 過去スレ、関連リンクは>>2-5くらい。 ■注意 ・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。 ・日本語版MSDN Online Libraryは不完全です。英語版(msdn.microsoft.com/library/)の利用推奨。 ・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。 ・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで
- 413 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 05:28:35 ]
- ちょっとフォルダ内のファイル一覧を作る処理を書こうとしてるんですが
FindFirstFile〜FindNextFile...は遅い!と思いしばらく実験... ひょっとしてコマンドプロンプトでdir〜するより遅いんじゃないか?・・・と調べたらさすがにdirよりは早いようだったorz しかしもっと早くしたいのです、FindFirstFile系より早い関数知ってる人いますか?
- 414 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 06:00:23 ]
- IShellFolderのEnumObjectsはもっと遅い
- 415 名前:デフォルトの名無しさん [2007/09/22(土) 06:18:51 ]
- こんなスレで質問していないで、早く試行錯誤でバグ回避策を見つける仕事に戻るんだ!
何?やる気がありません?なら辞めろや、他の派遣雇うからw
- 416 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 06:21:40 ]
- IShellFolderですか、COMってやつですか?
初めて見るのでよく分からんですが、こいつはこいつで奥が深そうですね
- 417 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 07:13:35 ]
- >>413
遅いって何ファイルで何秒くらい?
- 418 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 07:14:45 ]
- 自分で作ればいいのに
能なしは大人しく既存の関数使っとけ
- 419 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 07:35:59 ]
- >>417
5万で一秒くらいです、ちっとも遅くない・・・ですか?
- 420 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 07:39:12 ]
- そんなに速くしたいならWindowsの外でやれ
- 421 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 07:39:46 ]
- 1msで50ファイル。どこが不満なんだ‥‥
- 422 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 07:42:25 ]
- 実際計って以外に早いなと・・・
他の部分が重いのでしょうね、スレ汚し申し訳なかったです
- 423 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 07:45:46 ]
- windowsプログラムのお話
VC++2005EEのスケルトンプログラムのソースが何をやっているのか教えてぽ・・・。
- 424 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 07:46:04 ]
- キャッシュが効いてただけと予想
- 425 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 07:48:20 ]
- 一覧の表示をListViewとかでやってるなら検索中は更新止めるとかしないと笑える程遅くなるぞ。
- 426 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 08:04:49 ]
- キャッシュはメモリのコンパクションツール(っていうのかな?)を使えば消えますよね?
その状態だと5万ファイルで一分ぐらい、次回実行以降高速化してます・・・ ListViewとかじゃなくvector<string>に入れて後でファイルに保存してます、時間計測は純粋にファイルリスト取得部分のみです 再起動とかしてちゃんと計測し直した方がいいですかねぇ?
- 427 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 08:09:58 ]
- うるせーバーカ死ね
- 428 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 08:11:21 ]
- >>426
HD直接触ってみるとか
- 429 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 08:25:20 ]
- キャッシュですねぇ、>>424さんの指摘どおりのようです
再起動して実行すると初回が91秒、10回実行して平均とか出してたんですが2回目以降は750msぐらいで安定してます HDD直に触るのは魅力的ですよね、一度はやりたいです しかしこれ、それでも使えないほど遅いかと言われればそんなこともない速度でしょうか どうも昔触って以来FindFirstFile系は遅いと思い込んじゃってたんですかねぇ
- 430 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 08:27:18 ]
- くそう
- 431 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 08:33:48 ]
- >>423の言ってるのが「空のプロジェクト」をチェックしないで普通に作った奴なら
単にウィンドウ出してメニューつけて、だけをやってるんだと思う なんかReadMe.txtってのもプロジェクトに参加してるみたいだし一度目を通されてはどうでしょう 間違ってたらスマソ
- 432 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 08:36:17 ]
- >>429
APIの呼び先で予想外のコードが動いている可能性もあるから確認してみるといいよ。 アンチウィルスソフトはよくやってる。 とりあえずカーネルデバッグしてみ。
- 433 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 08:48:42 ]
- カーネルデバッグと、初めて聞いたもので調べておりますが
カーネルデバッガというものを使うようですね、おすすめなんてありますか?
- 434 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 09:15:36 ]
- とりあえず無難にWinDbgを使って見るのがいいんじゃない?
無料でダウンロードできるよ。 www.microsoft.com/japan/whdc/DevTools/Debugging/default.mspx WinDbgの文法覚えとけばCUIのデバッカへの移行もしやすいから出先でデバックする機会とかあるなら役立つかもね。 あと、カーネルデバッグするしないにかかわらずシンボルをインストールすることを忘れずに。 たとえば、Visual Studioでデバッグする場合不明なシンボルがあるとコールスタック表示するのをそこであきらめるし、 シンボル名が表示されてりゃブレークポイント貼るとき楽だしね。
- 435 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 09:30:31 ]
- >>434さん、折角教えて頂いたばかりですが現在の私の能力ではここまでのようです・・・
かなり便利そうには見えるのですが習得には少しかかりそうです・・・ いろいろとご指摘くださった皆さんありがとうございました、 今回はFindFirstFile〜でとりあえず作り、後は次回の課題とさせていただきます。
- 436 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 09:32:40 ]
- >>431
やさしい人ありがとう>< みんなプログラム作る時は空のプロジェクトでやるのかな・・・?
- 437 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 09:34:17 ]
- ああ
- 438 名前:デフォルトの名無しさん [2007/09/22(土) 09:48:51 ]
- 坊主。男は黙って空のプロジェクトで作るもんだぜ?( ゚Д゚)y─┛~~
- 439 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 14:21:56 ]
- 質問させてください。
BitBltで描写している800*600のビットマップ画像を毎秒20ピクセルぐらい で高速横移動させようとすると、描写がおっつかないのか移動中画像がぶれる のです。(上から下に走査線の波がはしるように画像がゆがみます) ひょっとしてWINAPIではそこまでの描写はできないのでしょうか? DirectXを使えということなのでしょうか。
- 440 名前:439 mailto:sage [2007/09/22(土) 14:24:04 ]
- ↑すみません、移動値が間違っていました。
一回10ピクセルの移動を、毎秒20回ほどです。
- 441 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 14:25:19 ]
- ププ
- 442 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 14:29:24 ]
- >>439
DirectXには垂直同期を待つ機能がある GDIだけではできない
- 443 名前:439 mailto:sage [2007/09/22(土) 14:41:27 ]
- >>442
ご回答ありがとうございます。 今まさにGDIに垂直同期させる方法がないか考えているところ でしたが、できないのですね。。。 DirectXを勉強することにします。 ヒント、感謝します。
- 444 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 16:46:25 ]
- "C:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*.*"
これがOKなのが許せない
- 445 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 16:51:28 ]
- /////////////////////////////////////home/unko
www.2ch.net/////////////////////////////////////////////////// 普通だろ
- 446 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 16:53:02 ]
- VC++2005EEで途中まで文字入力したときのポップアップヘルプが
出なくなっちゃたよぅ・・・><
- 447 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 16:57:37 ]
- EEなんて使ってるからだ
大人しくプログラミング引退しなさい
- 448 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 17:03:58 ]
- そんなぁ・・・><
- 449 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 17:06:19 ]
- と、思ったら僕の勘違いでした・・・
ごめんなさい
- 450 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 17:21:41 ]
- >>444
パス名の先頭に\\?\(Cなら\\\\?\\)でもつければ?
- 451 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 21:14:40 ]
- >>446
あのピョコってでるのは確かインテリセンスって言うはずだ プロジェクトのフォルダ内に.ncbって拡張子のファイルがあると思う、表示される情報はこれに保存されてるらしい で、情報の更新に若干タイムラグが出る事があってポップアップが出ない事がある、これは数秒待てば出るようになるよ 前の行にビルドエラーになる箇所があるとそれ以降インテリセンスも更新されてなかったりするのでこまめにビルドするといいかも
- 452 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 21:30:29 ]
- じゃあ、コンパイル成功してもIntelliSense動いてくれないのはなぜなんだぜ?
特にBoostとか使ってるとき、特定の行以降/ブロック内で起こる。
- 453 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 21:53:56 ]
- それはC++がキモすぎるかr
- 454 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 22:27:03 ]
- いやキモいのはbo
|

|