1 名前:デスマーチのプロ mailto:sage [2009/02/06(金) 02:11:04 ] ■公式 ttp://www.microsoft.com/japan/msdn/vstudio/default.aspx ■前スレ Visual Studio 2008 Part 14 ttp://pc11.2ch.net/test/read.cgi/tech/1230008197/ ■リンク Visual Studio 2008に搭載された17の新機能 ttp://www.atmarkit.co.jp/fdotnet/special/visualstudio2008_01/visualstudio2008_01_01.html 5000個のバグと戦った、MSが「Visual Studio 2008」RTM出荷 ttp://www.atmarkit.co.jp/news/200711/20/vs.html ■関連 Visual Studio 2005 Part 25 ttp://pc11.2ch.net/test/read.cgi/tech/1225268851/ その他テンプレ>>2-5
306 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 07:14:13 ] なんすか、それ
307 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 07:52:49 ] まあメモリマップドファイル使うのがいいけど リニアな領域は同じ様な制限かかるから 分けてやるか64bitでやるか
308 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 14:44:59 ] メモリマップドファイルでも、結局は32ビットアドレス範囲内の連続アドレスなんて限られるからな。 処理する領域に局所性があるのであればメモリ分割をして必要ない個所をファイルに書き出すなどしたほうがいい。 力技でやりたいなら64ビットでやったほうがいい。
309 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 15:14:33 ] ローカルファイルを読むだけでメモリ上でも書き換えないならファイルマッピングの方が無駄なコピーが要らないため効率がよくなる事が期待できる
310 名前:デフォルトの名無しさん [2009/03/02(月) 21:35:50 ] >>298 非ビジュアルコンポーネント(タイマーとか通信系とかDB操作系とか)を、フォーム要素を持たない アプリケーションでも配置可能する方法なんですが…うまく説明できなくてすいません。
311 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 21:59:50 ] サービスには貼れる
312 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 22:22:32 ] >>310 こういうことか? ソリューションエクスプローラ→プロジェクトを右クリック →追加→コンポーネント→ペタペタ
313 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 12:53:11 ] MSDNのサンプルは何で省略した表記が多いの? めんどくさいの?死ぬの?
314 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 13:48:41 ] 省略した表記?
315 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 13:50:26 ] 313じゃないけど俺もそう思う usingとか書いてないこと多いよね コピペで即使えるようにしとけと
316 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 19:46:11 ] これがVB脳かといいたくなるな。 めんどくさがってるのはお前の方だろってw
317 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 20:14:16 ] 検証してないからコピペするなというMSからのメッセージ
318 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 01:24:20 ] VC++ 6.0では外でつくって来たソースコードを読み込むだけでソリューションとかを作らなくてもコンパイルできたと思うんですが 2008はいちいちそういうのを作らなきゃだめなの? すごくめんどくさいんだが。
319 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 01:29:14 ] 不向きなんじゃないかな・・・
320 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 01:33:20 ] >319 俺のやろうとしてることがってこと? 関数のテストを小さいので作りながら、うまくいったら本流のほうに入れ込むって感じでやってるから、いちいちソリューションどうのこうのっていうのを設定するのが面倒なんだが。 6.0から見たら全然違うからびっくりした。
321 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 02:14:32 ] 自分は書き捨て用のプログラム専用にプロジェクトを1個作ってある。
322 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 02:21:18 ] 同じく
323 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 02:26:07 ] 最初はソリューション云々が面倒だったけど 慣れるとコレかなり良いもんよ
324 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 07:42:37 ] C++/CLIのコードで「reinterpret_cast」の部分を選択してコピー ( Ctrl + C ) したらVSが固まるのって俺だけ?
325 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 13:19:18 ] drawlineの座標ってなんで4つあるの? 四次元空間なの?死ぬの?
326 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 14:50:25 ] xyzu から xyzu に直線引くの? 馬鹿なの?死ぬの?
327 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 17:56:44 ] Microsoft Visual C++ 2008 Express Edition は Managed Code しか作れないんでしょうか? .NET Framework を使わないようにすることは出来ますか?
328 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 18:11:04 ] >>327 CLRってカテゴリ以外のプロジェクトが作成できるならそれで。
329 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 18:24:36 ] >>328 新しいプロジェクト →CLR →空のCLRプロジェクト →Windowsフォームアプリケーション →Win32 →win32プロジェクト とあります。 →Win32→win32プロジェクト を選択すればいいということですか? 既存のプロジェクトをCLRを使わないプロジェクトに変更って出来るのでしょうか?
330 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 18:31:37 ] >>329 それならwin32プロジェクトを選択すればOK 既存のをCLRを使わない設定にするのは、プロジェクトのプロパティ設定ダイアログを出して 構成プロパティ->全般->共通言語ランタイムサポート で「共通言語ランタイムサポートを使用しない」を選択すれば良いと思う。 他にもいじらないといけない部分があるかもしれんがパッと思いつくのはそれくらい。
331 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 18:49:05 ] >>330 ありがとうございました。
332 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 19:10:43 ] もしかして pro trial の cl.exe とかの cui tool って期限なしで動く?
333 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 20:08:19 ] そりゃ動くだろ。 つーかcl.exeはExpressでもついてるわけだし、 Proしかないもので使えてうれしいものなんてあったか?
334 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 20:15:00 ] 最適化に制限とかなかったっけ?>Express
335 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 20:18:25 ] PGOとかATLとかかな。でもSDK入れるとコンパイラ上書きするやつなかったっけ。
336 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 20:19:15 ] x64対応とか?
337 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 20:44:39 ] バグ落ち発見 コンパイル中にエラー一覧の警告が数十万を超えるとランタイムエラーを吐いて落ちる
338 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 20:47:14 ] 数十万の警告出すようなコードが悪い、と思うw
339 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 21:10:39 ] >>338 boostのソースをコンパイルしてみなって
340 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 21:14:48 ] そういうときは警告オフにするだろjk
341 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 22:23:00 ] >>334 /analyzeが使えない。けどProfessionalでも使えないから同じ。 しかし試したことはないけど、Windows SDKに入っているのなら使えるらしい。
342 名前:デフォルトの名無しさん mailto:sage [2009/03/05(木) 05:40:19 ] boostのコードが悪いな。
343 名前:デフォルトの名無しさん mailto:sage [2009/03/05(木) 07:18:20 ] 文字コードの警告じゃないの?
344 名前:デフォルトの名無しさん mailto:sage [2009/03/05(木) 07:34:04 ] #pragma warning(disable:4786)
345 名前:デフォルトの名無しさん [2009/03/05(木) 09:16:09 ] 間違ってvs2005スレに書き込んでしまったのでマルチになります if(FAILED(m_pKeyDevice->SetCooperativeLevel(hWnd, DISCL_NONEXCLUSIVE | DISCL_BACKGROUND))) { return E_FAIL; } 戻り値を確認したいのですがどうやるんですか? 成功した場合は、DI_OK DIERR_INVALIDPARAM 無効なパラメータが、戻ってくる関数に渡されたか、オブジェクトがその関数を呼び出せる状態になかった。この値は、標準のコンポーネント オブジェクト モデル (COM) 戻り値である E_INVALIDARG に等しい。 DIERR_NOTINITIALIZED このオブジェクトは初期化されていない。 E_HANDLE このパラメータは、このプロセスに関係する有効な最上位のウィンドウ ハンドルでなければならない。 このどれかが確認できるはずなのですが・・・。 visual studio2008使ってます
346 名前:デフォルトの名無しさん mailto:sage [2009/03/05(木) 10:10:47 ] HRESULT hr = m_pKeyDevice->SetCooperativeLevel(...); if (hr == DI_OK) { ... } else if (hrr == ...) { ... }
347 名前:デフォルトの名無しさん [2009/03/05(木) 11:22:58 ] >>346 ありがとうございます
348 名前:デフォルトの名無しさん mailto:sage [2009/03/05(木) 19:30:12 ] そういうレベルの話だったのかw てっきり自動変数ウィンドウを見ながらステップ実行すればおkって事かと思った
349 名前:デフォルトの名無しさん mailto:sage [2009/03/05(木) 23:50:34 ] @hrr, hr って話?
350 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 00:41:50 ] 質問です。 webBrowserでwebページを開き(この時点では文字化けしてない)、そのソースを表示させると文字化けしてしまいます。 文字化けさせない方法を教えてください。 ソースを表示させるのはこの方法でやってます MessageBox::Show(webBrowser1->DocumentText);
351 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 01:15:19 ] DocumentStream読み込んでbyte[]取得して、適切にエンコーディング変換。 詳しいやり方とかサンプルコードはぐぐれ
352 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 10:56:40 ] visual c++で小数点第一位で四捨五入するには どうすればいいですか?
353 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 10:58:40 ] (int)(x+0.5)
354 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 11:08:11 ] なんという高等テク。
355 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 11:16:59 ] その前にxの正負判定が必要かと
356 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 11:23:41 ] そのまえにNaN判定が必要かと
357 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 11:50:02 ] int型に代入するだけで、四捨五入になるって聞いてたんですけど ダメなんですか?><
358 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 11:51:22 ] おkおk
359 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 12:03:58 ] >int型に代入するだけで、四捨五入になるって聞いてたんですけど ならないよ
360 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 12:10:55 ] intに入れたんだけど、10430*1.15が11994になってしまう。
361 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 12:41:39 ] intにいれて、また、元のdoubleに戻すんですよね?
362 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 12:47:32 ] >>356 NaNはコンパイル時にわかるから必要ないな
363 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 13:52:50 ] とは限らない
364 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/03/06(金) 20:51:40 ] とりあえずassert入れておくとか
365 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 02:15:53 ] >>360 intは切捨てだったような
366 名前:デフォルトの名無しさん [2009/03/07(土) 14:08:26 ] 昨日VC++でコーディングしてて切り捨てする必要が出てデバッグで確認したら intは切捨てになってました
367 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 14:11:24 ] int へのただのキャストはいわゆる「0に向かって丸め」。 正の数は切り捨て、負の数は切り上げ。
368 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 14:25:07 ] なんという糞仕様。 その点はVBのように素直に丸める仕様の方がずっとまともに思える。
369 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 14:30:38 ] キャストする時には気をつけろという心遣いです。
370 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 14:47:17 ] >>368 昔からの伝統だからねぇ。 ハードウェア一番作りやすいのが0への丸め。
371 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 15:50:32 ] 切捨てでごく普通じゃね? 負の場合の切り上げも2の補数考えれば納得できるし。
372 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 15:57:20 ] >>367 単に切り捨て、切り上げ、四捨五入と言ったら、絶対値に適用するのが一般的 JISでもそうなってる
373 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 15:58:04 ] その辺のこんぴゅーたな話を知らない人なのだろうよと。 ちなみにコンピュータの仕組みはとか C からやるべきとか 今時の人はとかそういう論争はいらん。
374 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 16:01:16 ] IEEEなんとかの実数表現に2の補数なんて概念ないんじゃないの?w
375 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 16:08:42 ] >>374 なんで突然そんな話になるか分からんけど、 指数部には2の補数の概念はあるぞ。 表現自体は、バイアスかけて正数のみになるけど。
376 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 16:16:30 ] そこにあるのは2の補数ではなく、単に負数の概念だろ。
377 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 16:28:56 ] だれか352にずばり答えてやれよ
378 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 16:29:43 ] >>375 ちっとも突然でも唐突でもない >>371
379 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 16:31:00 ] intの除算が切り捨てになることと、IEEEの浮動小数点表現に何の関係が?
380 名前:デフォルトの名無しさん [2009/03/08(日) 02:23:55 ] お前ら金払えよ無料版は糞
381 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 09:19:08 ] あれでクソって言ってたら、Visual Studio 以外の開発環境なんて論外じゃねぇか。
382 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/03/08(日) 16:55:15 ] Eclipseの悪口は(ry
383 名前:モデム接続 mailto:sage [2009/03/08(日) 17:38:34 ] >>352 +0.5か-0.5して(int)でキャストする。 #include <stdio.h> #include <math.h> int main(void) { int i, c; double b; float a[]={ 1.49F, 1.499F, 1.4999F, 1.49999F, 1.499999F, 1.4999999F, 1.49999999F, 1.5F, -1.49F, -1.499F, -1.4999F, -1.49999F, -1.499999F,-1.4999999F,-1.49999999F, -1.5F, }; for(i=0;i<sizeof a/sizeof(int); i++) { if(a[i]>=0.0){ b = floor(a[i]+0.5); // floor は−∞方向への切捨て c = (int)(a[i]+0.5); }else{ b = ceil(a[i]-0.5); // ceil は+∞方向への切上げ c = (int)(a[i]-0.5); } printf("%.7f %f %d\n", a[i], b, c); } return 0; }
384 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 19:01:08 ] >if(a[i]>=0.0) これはいくない
385 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 19:24:40 ] sizeof(float)じゃね
386 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 19:43:47 ] VSだったらARRAYSIZEマクロで書いた方がよくね?
387 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 22:22:05 ] _countofじゃね
388 名前:デフォルトの名無しさん [2009/03/08(日) 22:26:41 ] VS2008でのリンカの使い方を教えて下さい #include<wininet.h>( wininet.libをリンク(プロジェクトに参加させている=見えている。 クリックしてもバイナリデータが見えている。) LNK2001: 外部シンボル "__imp__InternetOpenA@20" は未解決です。 lpinet->hInternet = InternetOpen("myftp01", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0 ); とすると LNK2001: 外部シンボル "__imp__InternetOpenA@20" は未解決です。 がでてしまいます。原因がわかりません。どなたかご教授願います。 wininet.libをプロジェクトに参加させているだけでは「リンク」されないのでしょうか?
389 名前:デフォルトの名無しさん [2009/03/08(日) 22:49:46 ] > wininet.libをリンク(プロジェクトに参加させている=見えている。 > クリックしてもバイナリデータが見えている。) どういう感じで?「追加の依存ファイル」に列挙されているってこと? 「特定のライブラリの無視」もしていない?
390 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 22:51:28 ] ソリューションエクスプローラに登録してるんじゃない?
391 名前:デフォルトの名無しさん [2009/03/08(日) 22:52:21 ] >>389 追加の依存ファイルには列挙されていません。 又、wininet.libがあるフォルダを指定してもLNK2001が出ます。 又、「特定のライブラリの無視」は設定していません。
392 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 22:53:43 ] 単にlibファイル追加してないだけじゃん
393 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 22:57:16 ] …あー。リンカの「追加の依存ファイル」ってあるところに wininet.lib を追加するんだよ。 ディレクトリの場所は一般的にはオプションの「プロジェク トおよびソリューション」の VC++ ディレクトリに追加する。 その中からファイル名で探すから。wininet.lib なら普通に Windows SDK(にwininet.lib はたぶんある)がすでに設定 されているだろうから何もする必要ないけど。
394 名前:デフォルトの名無しさん [2009/03/08(日) 23:14:14 ] >>393 ありがとうございました。うまくいきましたm(___)m
395 名前:デフォルトの名無しさん mailto:sage [2009/03/09(月) 01:01:26 ] >>393 ,394 わざわざリンカオプション使わなくても、ソースファイルかヘッダファイルに #pragma comment(lib, "wininet.lib") と書けばそれで終わり。
396 名前:393 mailto:sage [2009/03/09(月) 01:30:35 ] >>395 もちろん知っているけど、コードに設定書くようなものだからそれ嫌い なんよね。嫌な思い出もないでもないし。まぁどっちかに統一してまとめ て、決まり作れば問題ないかもな これはそれ以前の問題のようやから正攻法しか書かなかっただけやけども
397 名前:395 mailto:sage [2009/03/09(月) 01:34:56 ] ソース単位(というかオブジェクト単位だな)で使いまわす時は、ソースに書いておいたほうが便利だぞ。 とにかく忘れなくていい。(笑)
398 名前:デフォルトの名無しさん mailto:sage [2009/03/09(月) 01:52:06 ] >>397 そういうのは忘れてもリンクエラーですぐわかるから。 C++ は依存関係が色々重要で設定に集約させるほうを取ってる CRT はどれか、ATL はどうか、MFC は、依存している DLL は どうとかそういうの確認しやすい。 なので特殊なコードとか書き捨てコードぐらい。使うのは。
399 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/03/09(月) 05:39:00 ] >>383 SSE4が使えるならroundssあたりかな 俺的にはsizeof (a) / sizeof (a[0]) doubleに替えても変更の必要ないだろ
400 名前:デフォルトの名無しさん mailto:sage [2009/03/09(月) 09:45:22 ] 自分だけで使うならそれでもいいけどさ ライブラリとヘッダを他人に提供する場合もあるとねえ
401 名前:398 mailto:sage [2009/03/09(月) 10:14:50 ] >>400 …俺にいってる?そうならまさにそういうときの追跡に困るからなんやけど。 >>399 向けなら a がポインタのときの話かな
402 名前:デフォルトの名無しさん mailto:sage [2009/03/09(月) 11:15:33 ] 俺はSSE4の話だとオモタ
403 名前:デフォルトの名無しさん [2009/03/09(月) 19:57:00 ] <html> <head> <link rel="stylesheet" type="text/css" href=".css"> </head> <body> </body> </html>
404 名前:404 mailto:sage [2009/03/09(月) 19:58:43 ] すまそ・・ アクセス規制中だったから、どうせカキコできないだろうと適当にクリップ ボードにあるもん貼り付けてsubmitボタン押したら書き込みできた・・・ 意味はございませぬので。
405 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/03/09(月) 19:59:38 ] 404 Not Found by 俺のサイト
406 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 00:48:24 ] 質問です。 環境は VC++ 2008 Express on Windows Vista です。 マクロ定義の有無によって構造が変わる構造体があります。 具体的には、デバッグ時にはログなどを蓄積する変数が追加される ような感じです。 struct xxx { ・・・・・ #ifdef DEBUG_LOG <追加メンバ> #endif }; で、これを使ったプログラムを実行すると、 Debugging: Run-Time Check Failure #2 - Stack around the variable 'xxxxx' was corrupted で死にます。 このマクロ定義をOFFにすると死にません。 (マクロのON/OFFは、プロジェクトのプロパティの画面から行っています) また、同じプログラムがLinux上のgccでも動くのですが、こちらも正常に動作します。 というわけで、「 ランタイムチェッカ(?)が、マクロの定義による追加の構造体メンバを 認識できず、追加メンバに対する書き込みを "領域外書き込みのスタック破壊" と 誤検出している」、という説を立てているのですが、 (1) この説はありうるものでしょうか? (2) だとしたら、このランタイムチェッカ(?)にマクロ定義を認識させるには どうすればよいでしょうか?