- 1 名前:デフォルトの名無しさん [2007/02/14(水) 02:54:05 ]
- Visual Studio 2005 Developer Center
www.microsoft.com/japan/msdn/vstudio/2005/ lab.msdn.microsoft.com/vs2005/ Visual Studio 2005 製品ライン概要 www.microsoft.com/japan/msdn/vstudio/productinfo/productline/ www.microsoft.com/japan/msdn/howtobuy/vs2005/
- 652 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 21:33:02 ]
- >>649
クラスライブラリの追加は数年止まってるよ。 MSはMFCから.NETに移行させるのを推奨してる。 MSがネイティブのクラスライブラリを開発してる話は聞いたことないな。
- 653 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 21:38:08 ]
- msdn2.microsoft.com/ja-jp/library/ms235433(VS.80).aspx
MFC と ATL の新機能 ここでは、Visual C++ 2005 の MFC と ATL の新機能の一覧を示します。
- 654 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 21:52:21 ]
- >>653
雀の涙程度の追加だな。 .NETがWPF・WCF・WFとフレームワーク単位で追加を行ってるというのに、 MFC/ATLはこれだけか。
- 655 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 21:53:38 ]
- >数年止まってるよ。
>数年止まってるよ。 >数年止まってるよ。 >数年止まってるよ。
- 656 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 21:58:04 ]
- .netの比較対象はwin32api
MFCはラッパにすぎない
- 657 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 22:00:45 ]
- .NETも所詮はラッパにすぎん。Win32APIの代替になるとかいうのは夢だったんだよ
- 658 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 22:11:48 ]
- ネイティブは実行速度が速くて快適なのは良いが。
メモリ管理を自分で行わないといけないのが煩わしいからな。
- 659 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 22:32:51 ]
- >>644
アウトラインのキーワードを教わっといて どこが自己解決なのか
- 660 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 23:47:44 ]
- ここで聞くべきか迷うんだけど
vs2005に付属のファイルアイコン、*.cppと*.hは どこにあるんでしょうか? iconまとめてあるzipの中身見たけど vb等のファイルアイコンしか見当たらなかったのです。。
- 661 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 23:49:23 ]
- >>660
だから質問は日本語で書こうよ
- 662 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 23:52:14 ]
- どうみても普通の日本語に見えるが…
申し訳ないながら知らないから答えられないけど
- 663 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 00:07:16 ]
- >>660
この付近じゃね? C:\Program Files\Common Files\Microsoft Shared\MSEnv\VSFileHandler.dll
- 664 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 00:07:58 ]
- まあ、意味を推測できんこともないが、
少なくとも「まともな」日本語ではないな。 VS2005インストールすると*.cppや*.hに関連付けられるアイコン、 って意味なら、何かのdllか実行ファイルの中にリソースとして存在している だけだと思ったけどな。 @icon変換に片っ端から突っ込んでみれば分かると思うよ。 そんなことしなくてもコマンドラインかレジストリエディタで調べられるのかも知れないけど。
- 665 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 01:14:49 ]
- HKCR\.cppを見ると既定値はVCExpress.cpp.8.0。
そこでHKCR\VCExpress.cpp.8.0\DefaultIconを見ると、 拡張子cppのファイルのアイコンのパスがわかる。 他の拡張子も同様。 もちろんシェル拡張のアイコンハンドラが使われていなければだが。
- 666 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 08:42:06 ]
- >雀の涙程度の追加だな
ほとんど地盤の固まったクラスライブラリをころころ変更するほうが異常。 あと全くの新規プラットフォームと変更点の数比べるのも無意味。
- 667 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 19:49:48 ]
- 地盤の固まったw
- 668 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 19:54:44 ]
- 石川県民なんだろ。
- 669 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 20:10:08 ]
- 石川とどう関係があるんだ
- 670 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 20:44:41 ]
- VS2005 Academicを使っているのですが
VC++のデバッグでchar*などのの指す先のバイナリダンプを見ることはできますか? 普通に見ると\0の位置で止まってしまいますし 文字列としてしか見ることができないので結構不便なのです
- 671 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 23:37:41 ]
- >>663-665
さんくす! 見つかりますた
- 672 名前:デフォルトの名無しさん [2007/03/30(金) 00:03:54 ]
- 質問です。
VS2005 Proを使っていて、メモリリークがダンプされます。 しかし、リーク原因のソースファイル名の記載がありません。 この場合、どこでリークが起きているかどうやって特定すればよいのでしょうか。 // ↓メモリリークダンプ結果 Detected memory leaks! Dumping objects -> {457587} normal block at 0x0C171D30, 24 bytes long. Data: < ? & ?> C5 CD 04 0A A2 F9 E1 3F E9 D0 B2 0E 26 15 E2 3F
- 673 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 00:27:30 ]
- >>670
今現物が入ってないPC使ってるんでよく覚えてないけど、 pStr 0,5 だか pStr[0,5] だか、とにかくカンマで数値を並べると ヌル文字を無視して表示されたような気がする 気になるからちょっとやってみてくれ
- 674 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 00:35:31 ]
- ならべる数値はどれでしょう。
C5 CD 04 0A A2 F9 E1 3F E9 D0 B2 0E 26 15 E2 3F これ?
- 675 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 00:36:37 ]
- >>670
メモリウィンドウ
- 676 名前:672 mailto:sage [2007/03/30(金) 00:39:36 ]
- (;゚д゚)まちがえたー。
- 677 名前:670 mailto:sage [2007/03/30(金) 01:19:09 ]
- >>673
pStr,100みたいに入れてみたらpStrから100個表示されましたがちょっと見辛い・・・ pStr,mと入れてみたら一応ダンプっぽいものが出てきたんですが 16byteまでしか見ることができないようです 他にもいろいろとウォッチ式に入れてみましたが評価エラーが出てできませんでした >>675 できました こんな便利なものがあったんですね >>673,675 ありがとうございました
- 678 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 03:44:45 ]
- objファイルの関数名ダンプできるツールはない?
いちようcygwinのnmでダンプできますが、cygwinじゃなくてVCのツールで似たようなもの有ってもよさそうだけど
- 679 名前:デフォルトの名無しさん [2007/03/30(金) 03:54:32 ]
- 元々は正社員だったのに取引先にフリーのほうが稼げるとか騙されて
結局派遣やってるバカがいるんだけどw なんか派遣先といい関係、とか言ってたから思わず吹き出しちゃったよw そもそも信頼されてるなら直接契約するか正社員にするはずだが、 いつでも切れる派遣会社経由って舐められてんだよ 派遣期間が長くならないうちに早く就職しろ、と忠告したら、ウッキー!って逆ギレw バカで頑固だから何度言っても理解できない 騙されたとはいえ結局は自分で決めて派遣やってる癖に逆ギレしちゃってまぁ 人間として本当に恥ずかしい
- 680 名前:678 mailto:sage [2007/03/30(金) 04:15:48 ]
- dumpbinがありました
- 681 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 05:26:15 ]
- >>672
_crtBreakAlloc
- 682 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 21:04:17 ]
- めちゃくちゃ教えて君モード前回で申し訳ないんだけど
プログラムでHDDの電源をとめる方法を教えてください. 電源の設定で何分後かに電源をとめる設定があるけど, 何分か放置するんじゃなくてユーザが好きなタイミングで とめられるようにしたいとです.
- 683 名前:デフォルトの名無しさん [2007/03/30(金) 21:42:49 ]
- すげぇwwww
VS2005はそんなことまでできるのかwwwww
- 684 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 21:48:33 ]
- ?
Win32APIか.NET Frameworkでそういうコード書けませんかっていう質問です.
- 685 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 21:59:17 ]
- 無理です
- 686 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 21:59:39 ]
- MessageBox.Show("30分待ってね");
- 687 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 22:27:10 ]
- >>686
セコいなw
- 688 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 22:33:56 ]
- あんなディスクの寿命を縮めるだけの機能使ってる奴いるの?
- 689 名前:デフォルトの名無しさん [2007/03/30(金) 22:34:20 ]
- 誘導されてきました。わかる人がいたら教えてください。
pc11.2ch.net/test/read.cgi/php/1120361248/761 VisualStudio2005でプロセスにアタッチしながらデバッグするときに UTF-8で作成されたファイルでインクルードされている方が文字化けしてしまいます。 1.インクルードする側のファイル(拡張子.asp) 2.インクルードされる側のファイル(拡張子.inc) と2個のファイルがあって1個目のファイルは先頭に <%@ LANGUAGE=VBSCRIPT CODEPAGE=65001 %> とすればアタッチ中でもちゃんと漢字が表示されますが(しないとこちらも文字化けします) 2個目のファイルはインクルード元での指定を無視してしまい、 デバッグ中はどうもSHIFT−JISで表示しようとしてしまいます。 かといって2個目のファイルでCODEPAGEを指定しようとすると @をプログラムの中で2回も使うな、ボケ、とIISに怒られます。 UTF-8で記述されたファイルをアタッチ中にちゃんと表示させるにはどのような指定が必要なのでしょう
- 690 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 22:41:23 ]
- >>689
ダメ元でだけど、インクルードされる側のファイルの先頭にBOMでもぶち込んでみたら?
- 691 名前:682 mailto:sage [2007/03/30(金) 23:22:44 ]
- WMI .NET使ってCIM_DiskDriveのSetPowerStateメソッド呼んでみたけど
"このメソッドはどのクラスにも実装されていません"って例外が出た・・・ ACPIとか使わんといかんのかな・・・ >>688 ディスクはいつ壊れてもいいと思ってる+静音重視な使い方してます.
- 692 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 23:31:04 ]
- ddkスレとかで聞いた方がいいのかもね。
しかし、HDDの回転音って普通はほとんど聞こえないと思うけどw
- 693 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 23:42:05 ]
- >>688
>>682 じゃないが、それもそうだなと思って、いまマシンの設定変えた。
- 694 名前:682 mailto:sage [2007/03/30(金) 23:55:16 ]
- >>692
うーん,DDKとかめんどくさそうなのでとりあえず放置します. ちょっと古めのディスク+ケースなので回転すると少し振動音がするんです. いろいろ静音化してるから気になる. レスありがとん.
- 695 名前:689 [2007/03/31(土) 00:05:12 ]
- >>690
BOMってなんだ〜 っておもったら自動判定の重要な情報みたいね・・・ 秀丸にはファイルにBOMをつける機能があるみたいなので 週明けにそれで試してみます。 VSも付けられるようにしてくれればいいのに・・ ありがと〜
- 696 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 00:08:05 ]
- >>695
VSも付けられるって
- 697 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 00:08:09 ]
- >>695
VSもバイナリエディタの機能もってんだから無理やりブチ込むのは可能だよ。 ・・・そーいう話をしてるんじゃないのは分かってるけど。
- 698 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 00:20:40 ]
- BOMを知らないんですが・・・
ちょっと教えてもらえないですか?
- 699 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 00:23:42 ]
- >>698
確か Non Break Zero Width Space の別名。
- 700 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 00:25:39 ]
- 違うよ。全然違う。
- 701 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 00:27:59 ]
- BOMでぐぐればすぐ出てくるのに
- 702 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 00:32:33 ]
- >>700
ホントに全然違ってワラタ。 やっぱうろ覚えじゃいかんな。
- 703 名前:デフォルトの名無しさん [2007/03/31(土) 00:33:34 ]
- BOM (Byte Order Mark)
バイト・オーダー・マーク これでOK?
- 704 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 00:33:51 ]
- うろ覚えというか全然理解してないだろ
- 705 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 00:39:43 ]
- >>704
なんのどのへんについて言ってるんだ? なんか誤解されてる気がする。
- 706 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 00:44:47 ]
- Bill Of Materialだ
- 707 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 00:47:10 ]
- それはすまなんだ、俺が全然分かってなかったようだ。
- 708 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 01:07:06 ]
- この流れで第三者が勘違いするといけないから >>699 を訂正しておくと
×:Non Break Zero Width Space ○:Zero Width No-Break Space こっちが BOM の本来の名前。Zero Width No-Break Space がエンコーディングを 識別しやすくする目的で利用される時の別名が BOM 。
- 709 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 01:13:49 ]
- ここで UTF-8 に BOM は定義されてないとか言ってフレーム勃発。
- 710 名前:デフォルトの名無しさん [2007/03/31(土) 02:32:01 ]
- マジレスするとBOMBの省略形
- 711 名前:デフォルトの名無しさん [2007/03/31(土) 03:00:02 ]
- プログラミング初心者だが
C++⇒市販ゲームブログラマ向け C#⇒物好きな向け VB⇒データベース使った業務用アプリ向け J#⇒ネトゲプログラマ向け こんな解釈でよろし?
- 712 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 03:07:24 ]
- C♯⇒GUIの作成で楽したい人向け
J#⇒誰が止めても茨の道を進もうとする天邪鬼向け
- 713 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 03:19:15 ]
- C#とVB.NETあんま区別つけなくてもいいと思うんだが
- 714 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 03:42:23 ]
- VBに業務系が多いのはVB6プログラマが移行してきてるからでは。
.NETなら機能的にはC#とVBは似たようなものだけどね。 C#はどういう分野の人たちが使っているんだろう?
- 715 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 03:53:26 ]
- >C#はどういう分野の人たちが使っているんだろう?
とりあえず、C#ユーザは元(or現)C++/Javaユーザの比率が高い気がする。
- 716 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 04:02:02 ]
- 当たり前だろうが。あれは所詮単なる妥協案なんだよ。
手段として、仕事として仕方なくC#を選ぶに過ぎんのだよ。 研究者はC99でもやってな。
- 717 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 08:03:25 ]
- >>716
当たり前だろうが。あれは所詮単なる妥協案なんだよ。 手段として、仕事として仕方なくTを選ぶに過ぎんのだよ。 C#の所を書き換えれば他の言語でも同じ事が言えないか?w
- 718 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 08:31:50 ]
- もともと.NETはC#でプログラミングするように作っている。
VBとC++を対応させたのはそれらのプログラマを.NETに移行させたいためでしかない。 新規.NETプログラマはC#を使うことをお勧めする。
- 719 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 08:35:05 ]
- >>688
遅レスだが、近頃のHDだったら停止した方が寿命伸びることもあるぞ。 そりゃ、ものすごい勢いで停止→回転を交互に続けたらまずいけど。
- 720 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 08:37:13 ]
- もうすぐ、OS・アプリ領域にはフラッシュメモリHDが普通に使われるようになるだろうから
ファイルI/Oはそれほど気にしないで済むようになるだろうけどね。
- 721 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 09:50:16 ]
- >>718
C#はVS2005になったときにも言語仕様があまり変わらなかった安定感があるけど、 VBはかなり手を入れられてたからね。 この先も安心して使いたいならC#の方が良いのかもしれない。
- 722 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 09:55:47 ]
- C#も2005でGenericが導入されたり、今後LINQが導入される予定だったり、
どこがあまり変わっていないといえるのやら。
- 723 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 09:57:01 ]
- 言語仕様を覚えるのは大した労力いらないから、VB・C++プログラマは
.NETではC#覚えればいいのに。 さすがにフレームワークが違うと言語仕様が一緒でもかなり覚えるのはきつかったが。 MFC・JDK1.4・.NETと学習すれば大抵の人は言語仕様より、巨大なAPI群を覚える労力の 大変さが理解できると思う。
- 724 名前:682 mailto:sage [2007/03/31(土) 09:57:56 ]
- C#でソース斜め読みしたときにpropertyとmethodが見分けにくいから
頭にpropertyって書いてもいいようにしてほすぃ.
- 725 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 09:59:18 ]
- どこがって言われてもジェネリック以外で何か大きな変更あったっけ?
- 726 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 10:03:01 ]
- >>722
成長に伴って仕様の拡張があるのは当然のことでしょう。 VB2005の変更点はMyやら既定のインスタンスやら、何か横道に逸れてる路線だよ。 Myは確かに便利なんで微妙だが…
- 727 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 10:29:16 ]
- SP1への怒りはどこにぶつけたらいい?
容量食って時間かかったあげく「内部エラー2349」 in 2000sp4 +VS8pro
- 728 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 10:32:15 ]
- マイクロソフトの中の人。
間違ってもここの住人ではない。
- 729 名前:682 mailto:sage [2007/03/31(土) 10:49:29 ]
- これでまたがんばる
reg export HKLM\Software\Policies\Microsoft\Windows\Installer installer.reg reg add HKLM\Software\Policies\Microsoft\Windows\Installer /v MaxPatchCacheSize /t REG_DWORD /d 0 /f net stop msiserver start /wait VS80sp1-KB926601-X86-ENU.exe reg delete HKLM\Software\Policies\Microsoft\Windows\Installer /v MaxPatchCacheSize /f reg import installer.reg net stop msiserver del /q installer.reg 2>nul
- 730 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 10:51:59 ]
- >>709
UTF-8でもOKだと後付けで許可が出てる ま、unicodeはそんなんばっかだが
- 731 名前:デフォルトの名無しさん [2007/03/31(土) 14:45:41 ]
- >>720
あれって現行のHDDに比べて 耐久性とかどうなの?
- 732 名前:デフォルトの名無しさん [2007/03/31(土) 14:46:40 ]
- >>725
WPFとか使ってみたけど結構使えるぞ つうか、凝ったUIが楽になった
- 733 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 14:48:31 ]
- >>731
ちょっとくらいなら殴ったり蹴ったりしても壊れないんじゃね?
- 734 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 14:52:55 ]
- 耐久性はマザーボード位あるだろうな。
ノートPCには標準で搭載されることになるだろう。 これで一番壊れやすいのがバッテリになる予感がw
- 735 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 15:05:41 ]
- >>732
それ言語とは関係ないだろ C#3.0の自動プロパティ,すごく地味だけどなんで今まで無かったんだ
- 736 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 15:13:49 ]
- WPFの現在の問題は使えるXAMLエディタが少ないことだな。
XPとVistaのみしか対応していないのも厳しいところ。
- 737 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 17:41:16 ]
- >>730 ソースくれ。
- 738 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 18:35:53 ]
- >>737
>>730ではないけど、unicode 3.0 の13.6章あたりかな ttp://unicode.org/book/u2.html utf-8の場合はバイトオーダーを表すのではなくて、utf-8 シグネチャとして 使用されるって事らしい。
- 739 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 22:57:26 ]
- そのうちテキストファイルのためのヘッダとかが規定されそうな悪寒。
- 740 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 00:43:28 ]
- XP入れ直したついでにmicrosoft updateからすべてを入れたのが運の尽き
いつまで経っても終わらないVS2005SP1…。 またかよ。
- 741 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 01:50:03 ]
- Vistaに2005入れてSP1あてたら青窓が出た
- 742 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 03:43:10 ]
- DAがスタンドアロンの俺は勝ち組
- 743 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 23:19:37 ]
- コマンドラインコンパイラしか使わんから、もうVS2005+SP1いれるのやめて、
Windows SDKでいいや。
- 744 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 23:33:41 ]
- /analyze使えるからWindows SDKのコンパイラお勧め。
- 745 名前:デフォルトの名無しさん [2007/04/02(月) 19:38:43 ]
- sage
- 746 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 21:18:57 ]
- sp1をslipstreamで当ててインストールし直したほうが早くね?
- 747 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 21:31:18 ]
- 今日試したら青窓でなかった
一体なんだったんだ・・・
- 748 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 21:53:28 ]
- 青窓ってブルースクリーンのこと?
- 749 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 22:14:54 ]
- IsBadCodePtrなる関数の使い方を確認しようと思い、次のようなコードを書いてみました。
void CMemoryTestDlg::OnBnClickedOk() { char* p = new char[10]; delete [] p; ASSERT(IsBadCodePtr((FARPROC)p) == 0); } MSDNによれば、 >呼び出し側プロセスが指定したメモリに対して読み取りアクセスを行える場合は、0 が返ります。 >指定されたメモリに対して読み取りアクセスを行えない場合は、0 以外の値が返ります。 とのことなので、これはASSERTで、思いっきり停止するかと思ったのですが、全く停止しません。 読み込めない場所を判断したくて、IsBadCodePtrを使っているのに、使い方が間違っているのでしょうか…… どなたか教えてください。 環境はWinXPHOME、VS2005 Pro、言語はC++を使っています。
- 750 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 22:21:23 ]
- >>749
VC++のnew[]とdelete[]は最終的にHeapAllocとHeapFreeを呼び出す。 Heap系関数は解放されたメモリを次の確保要求に備えて、内部に蓄えておく。 かくしてOSからしてみれば確保されたままの状態となるので、 IsBadCodePtrは真を返す。 ちなみにIsBadReadPtrもよろしく。勿論上に書いたことはこれにも当てはまるよ。 IsBad〜PtrはVirtualAllocされているかどうかという判定には使えると思う。
- 751 名前:デフォルトの名無しさん [2007/04/02(月) 22:31:06 ]
- 2007が出るまで待つべきか2005を買うべきか
どうしよう・・・。 アカデミック版が買えるから4k円だけど
- 752 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 22:32:31 ]
- 2012にしとけよ。
|

|