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
262 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 15:02:38 ] フォルダ内で Ctrl+A すればよい
263 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 15:17:43 ] >>261 そんなウマーな機能はさすがにないと思うけど
264 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 15:36:45 ] マクロやアドオンで簡単に出来そうなのに何故か作る気が全くしない
265 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 15:42:34 ] ソリューションエクスプローラにD&D
266 名前:261 mailto:sage [2009/02/27(金) 16:39:02 ] >>262 ,>>265 そうするとプロジェクト直下にソースが列挙されるだけでした >>263 少なくとも Turbo C++ だとできたので VSでもできるかな、と思ったのです >>264 自前で作れるのですか?
267 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 19:00:08 ] そうなんだよ! >>261 みたいに直感的な操作がなぜか出来ない? 今までのバージョンからずっとそうなんだけど敢えて出来ない理由とかあるの? 誰もが一度は思う事だと思うけど、。
268 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 19:47:53 ] C#だとできるんだけどね まあC++はヘッダもあるしフォルダじゃなくてフィルタで管理しろってことなんだろう
269 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 19:55:01 ] それにしたってフォルダ階層にあわせてフィルタ作ってくれる機能ぐらい欲しい いまは「既存のコードからプロジェクト作成」で我慢してる
270 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 20:27:24 ] >>260 ExpressとStandardの差は大きいから、Proを買う気でいたなら ちょっとお金を出してStandardを買った方がいいと思う。
271 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 02:46:23 ] >>261 とくにC/C++の場合、 #include "stdafx.h" を前提としてそれに依存したコードが生成されるけど、ディレクトリを変更すると #include "../stdafx.h" などとなって、ウィザードの生成にも影響するし、そもそも ここのパスを変えると、今のコンパイラではプリコンパイル情報を 正しく処理できないような気がする なので、複数ディレクトリをIDEでサポートしないのは、 VCのプロジェクトとの相性というか、平たくいえばMicrosoftの実装都合の 面が多々影響しているのではないかと推測
272 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 05:31:29 ] C/C++のソースはファイルシステム依存のインクルードを絶ち切れないですからね。
273 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 02:49:58 ] プリコンパイルを使ってない俺はいったい・・・・・ プリコンパイルなんてロースペック時代の遺産だろって思ってるんだが。
274 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 04:05:22 ] 俺もめんどくさいのであまり使わないけどさ、ある程度以上になると 今でもすごいかかるようになるのは確かだからそれはあまりに。 テンプレートのシステム的にもヘッダに書きまくらないといけないって のもあるしなぁ というか問題は include がファイルシステムに依存するからホイホイ 場所移動できないってのだろう。他にも個人的には中間生成物が多すぎて 確かに場所に依存しないフィルタのほうが使いやすいってのがあると思う そういえばその辺、VS2010で変わるんだっけかな確か?
275 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 08:37:46 ] >>273 を信じて試しに12万ステップあるプロジェクトの プリコンパイルヘッダを使用しないようにしてみた。 どちらも12秒くらいでビルド速度に違いが見られなかった。 ちなみに環境は、CPU Core2 E8400、メモリ2GB。 12万ステップ程度じゃ違いは出ないか・・・・
276 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 08:44:18 ] >>275 プリコンパイルヘッダーに読み込まれるヘッダーの量が重要
277 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 08:55:30 ] >>276 ↓これくらい。 #include <windows.h> #include <commdlg.h> #include <comutil.h> #include <stdio.h> #include <stdlib.h> #include <malloc.h> #include <memory.h> #include <tchar.h> #include <math.h>
278 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 09:00:51 ] それだけなら差はあまりなさそうだね
279 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 09:15:28 ] ステップ数よりもファイル数だと思うけど
280 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 09:46:13 ] 100万行のうち20%程度のライブラリ。これのヘッダをプリコンパイルに指定してやると lib含めたフルビルドで1分以上かかっていたものが40〜50秒程度に短縮。 数千行のコードでもtemplate周りを入れてやると結構違うよ。 あと>279の言うとおりcppファイル数が1個じゃ体感できる訳がネー。
281 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 09:49:48 ] てか、>>275 はちゃんと、数回ビルドしてみたんだろうか。 プリコンパイルドヘッダーを変更した直後のビルドだけ試してたりは。
282 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 10:01:12 ] オプションが作るになってて、cppの数だけプリコンパイルドヘッダー作ったりしてないよな?
283 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 10:01:29 ] ソリューションをクリーンしてから、ビルド1回やっただけだけど? VS立ち上げなおしてから、リビルド何回か試したけど、ちょっと遅くて15秒程度だった。 ちなみにファイルは.h、.cpp含めて61個。さすがに12万行を一つのファイルに書かないわ
284 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 10:03:40 ] >>283 >、リビルド何回か試したけど、 ここが気になる
285 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 10:06:46 ] >>274 プロジェクトの設定の「プリコンパイル済みヘッダーを使用しない」にするだけだよな? めんどいんでstdafx.hは残したままだけど、それじゃダメ? >>284 ? 数回ビルド試せってついさっき>>281 で言われたからリビルドしたんだけど。
286 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 10:20:55 ] >>285 リビルドするとプリコンパイルドヘッダもリビルドされる。 ビルドで繰り返さないと意味が無い。
287 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 10:21:07 ] >>285 リビルドもプリコンパイルの意味ない。 プリコンパイルドヘッダーが利いてくるのは、 たくさん .cpp / .h ファイルがあって、 その中のごく一部のソースをちょこっと変更するたびにビルドする プリコンパイルドヘッダーに入れてる .h はめったに変更されなくて、 かつ .h の中身がばかでかい(あるいはテンプレート使いまくり) という場合。
288 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 11:29:48 ] そうなのか。ビルド繰り返しても3秒も掛かってない感じだぜ ということは、プリコンで10秒近く短縮されてるってことか?
289 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 11:32:12 ] リビルドでもプリコンパイルヘッダの意味あるでしょ。
290 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 11:39:28 ] >>289 あるよ
291 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 12:30:24 ] リンクタブにあるプロジェクトオプションに「/nodefaultlib:"LIBCMT"」を追加します。 とあるのですがリンクタブのプロジェクトオプションが見つかりません;; どこら辺にあるのですか
292 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 12:38:49 ] リンカオプション
293 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 17:02:57 ] プリコンパイルよりも/MPオプションの方が激烈に作用する今日この頃@core i7
294 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 17:15:36 ] よりもって、同時に使えるだろ? 比べるもんじゃない。
295 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 20:46:10 ] プロジェクト間の並列ビルドとは別に設定できるのか・・・ でも調停はしてくれんよなあ・・・
296 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 20:53:36 ] プロジェクト内の並列ビルドはしてくれる。クワッドコアだとかなり快適。 プリコンパイルドヘッダー使っても問題ない。最初のプリコンパイルだけは1プロセスで行ってくれるから依存関係も問題ない。 /MPは2005から使える。
297 名前:デフォルトの名無しさん [2009/03/01(日) 23:18:38 ] 最近Delphiから移ってきたのですが、Delphiでいうところの「データモジュール」は VisualStudioには存在しないのでしょうか? GUIを持たないアプリケーション(コンソールやサービス)を作成する場合はコンポーネントを ドロップする場所がないようですが、ひょっとして全部手書きでないと駄目ですか?
298 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 00:30:44 ] リソースエディタみたいなものを期待してるなら、そんなものは無かったと思ったが。
299 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 00:31:28 ] OS:VISTA(32ビット) 環境:VC++2008 Express すいません。教えてください。 テキストファイルを大量に読み込むアプリを作成しました。 使用メモリ:1.6Gくらいで"OutOfMemory"のエラーが出てしまいます。 1.6Gくらいで、このエラーは出てしまうものでしょうか。 #ファイルストリームは明示的にクローズしています。 #使用メモリはタスクマネージャで見ました。
300 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 00:55:50 ] >>299 GetProcessHeap or HeapCreate ↓ CreateFile ↓ GetFileSizeEx ↓ HeapAlloc ↓ ReadFile ↓ CloseHandle ↓ HeapFree ↓ HeapCreateしてるならHeapDestroy
301 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 01:09:30 ] 即レスありがとうございます。 あー、なるほどぉ。。先にきれいな連続領域を確保してから ですね! ちょっと、難しそうですが、やってみます。
302 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 01:17:07 ] 2008にしたらテラ重くなった。
303 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 01:20:05 ] 2005よりかるくなったろ?
304 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 01:36:51 ] まずはスタートページを表示しないようにする所からかな
305 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 03:40:55 ] >>299 なんでメモリマップドファイルを使わないんだろう・・・
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はコンパイル時にわかるから必要ないな