1 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 17:44:23 ] Visual C++入門者・初心者からの質問を、 お兄ちゃんお姉ちゃん達が優しく、時には厳しく回答してくれるスレッドです。 ■質問するにあたって ・エラーや警告のときはエラーメッセージを書きましょう。 ・開発環境も書きましょう、特にWindowsForm、MFC、Win32アプリケーションの区別。 ・できるだけ具体的に。 質問の仕方については次のページが大変参考になります。 www.hyuki.com/writing/techask.html ■回答するにあたって ・回答する場合はその答えに至るための「コツ」も書いてあげると良いでしょう。 (MSDNのどの項目だとか、何のキーワードでGoogleするとか) ・ネタや煽りは軽く流しましょう。 過去スレ、関連スレなどは>>2-5 辺り。
313 名前:デフォルトの名無しさん [2009/04/25(土) 00:03:11 ] すみません。一般的に画像を保存する際、.bmp形式より.jpg形式の方が画像サイズが小さくなります。 今度作成しようとおもっているのは、Alt+Prt Scキーにより、クリップボードにコピーされた アクティブな画面キャプチャを.jpg形式のファイルで保存しようとおもうんですが、 私のアルゴリズム?では、bmp形式のサイズで保存されてしまうのが予想されます。 私のアルゴリズムは以下です。 1.クリップボードの画像データをビットマップオブジェクトにコピーし、ファイルを保存する。 2.ファイル名の拡張子を.jpgに変換する。 以上です。 以前、Alt+Prt Scキーで取得した画面キャプチャ画像をアクセサリのペイントに貼り付けてjpegファイルに変換しても 画像サイズが変わらなかったので、上に書いたアルゴリズムでは同様のことになってしまうと思います。 jpegファイルの軽さで最初からファイルを保存するようにするにはどうしたらいいでしょうか? 画像関係のソフト制作、VC++は不慣れなものですので、すみませんが教えてください。よろしくお願いします。
314 名前:デフォルトの名無しさん mailto:sage [2009/04/25(土) 00:11:29 ] >>313 GDI+
315 名前:デフォルトの名無しさん mailto:sage [2009/04/25(土) 00:19:46 ] Express以外を使っているなら、ATL::CImageもおすすめ。
316 名前:413 mailto:sage [2009/04/25(土) 00:52:22 ] >>314 さん、>>315 さん。 どうもありがとうございます。教えていただいた、 キーワードでググってやってみようと思います。ちなみに MFCですので。。 コンビニいって、立ち読みしてたので、お礼が遅くなりました。すみません。
317 名前:デフォルトの名無しさん mailto:sage [2009/04/25(土) 07:30:44 ] とりあえずファイルの拡張子変えただけじゃjpgにはならんよ…
318 名前:デフォルトの名無しさん mailto:sage [2009/04/25(土) 08:20:10 ] >>317 俺も最初の頃は xxx.jpg.bmp なんてファイルがあったな
319 名前:デフォルトの名無しさん mailto:sage [2009/04/25(土) 12:30:50 ] いい例えが思いつかなくて放置してたんだけど 昼飯食ってたらとたんに思いついた アナログテレビにペンで 「デジタル」 って書くだけじゃ地デジは映らないよ!
320 名前:デフォルトの名無しさん mailto:sage [2009/04/26(日) 10:19:59 ] ペイントブラシは拡張子変えるだけでファイルフォーマットも変えるからなあw
321 名前:デフォルトの名無しさん mailto:sage [2009/04/26(日) 10:21:03 ] ペイントブラシじゃなくてペイントか
322 名前:デフォルトの名無しさん mailto:sage [2009/04/26(日) 13:35:30 ] いきなりですが、質問させてください。 VC++2008 ExpressEditionで、windowsアプリケーションを作成しようとしています。 CreateWindow関数の引数が多く、横に書いていくと見にくいので、途中で改行をしました。 すると、それ以後、コンマを入力するとエラー音(プンッというような音)が鳴ります。 これはどういった問題が起きているのでしょうか。 分かる方、どなたか教えていただけるとありがたいです。
323 名前:デフォルトの名無しさん mailto:sage [2009/04/27(月) 02:18:15 ] すみません。物凄く素人な質問で恐縮なのですが。 ボタンを沢山配置したときに、リソース上で整列させたいのですが、 元々ダイアログに表示されている、ボタン位置の調整が出来る青い枠は 増やせないのでしょうか……? リソース上で座標だけ見てボタンの微調整をするのはかなり苦痛です。 宜しくお願いします……!
324 名前:デフォルトの名無しさん mailto:sage [2009/04/27(月) 02:36:30 ] どのリソースエディタかしらないけどコントロールの整列ボタンとかないの? rcをテキストエディタで開いてみると DEFPUSHBUTTON "OK", IDOK, 129, 7, 50, 14, BS_DEFPUSHBUTTON PUSHBUTTON "キャンセル", IDCANCEL, 129, 24, 50, 14, BS_PUSHBUTTON こんな感じになってるから手入力でやってもたいした労力じゃないかもしれないよ
325 名前:323 mailto:sage [2009/04/27(月) 02:46:51 ] >324さま 使用しているのはVisualStudio2008のリソースエディタです。 複数ボタンを選択した後に右クリックして、左揃え上揃えがあるのを確認しました。 早とちりしてすみません(汗) 微調整は324さまの仰られた通り、テキストエディタで編集する事にします。 ありがとうございました。
326 名前:デフォルトの名無しさん mailto:sage [2009/04/27(月) 03:01:17 ] >>325 騙されたと思って、ダイアログエディタのガイドをクリックしてみろ。
327 名前:デフォルトの名無しさん mailto:sage [2009/04/27(月) 20:26:44 ] 先日からVC++2008を使い始めましたが、基本的な操作方法が分かりません。 ライブラリを追加するのはどこからやればいいのでしょうか? 2005ではプロジェクト→設定…とやっていたのですが。 プログラム自体初心者なのですが回答お願いします。
328 名前:デフォルトの名無しさん mailto:sage [2009/04/27(月) 20:55:09 ] プロジェクト→設定…とやればいい
329 名前:デフォルトの名無しさん mailto:sage [2009/04/27(月) 20:56:30 ] プロジェクト→プロパティだった
330 名前:デフォルトの名無しさん mailto:sage [2009/04/27(月) 21:29:50 ] >>327 >プログラム自体初心者なのですが回答お願いします。 こういうの要らないだろ。 どうしてこういうの付けてくるヤツって耐えないんだろう。 …でもまあスレタイ的には今回は例外的に問題無いのか。
331 名前:デフォルトの名無しさん mailto:sage [2009/04/27(月) 21:42:09 ] >>327 それくらい2005とろくに変わっていないだろ。
332 名前:デフォルトの名無しさん mailto:sage [2009/04/27(月) 21:47:05 ] 図解つきのマニュアルで1ステップずつ解説みないと使えないレベルなんじゃないか?
333 名前:323 mailto:sage [2009/04/28(火) 01:45:05 ] >>326 さま 位置調整用の青点線増えました。助かりました。ありがとう。
334 名前:327 mailto:sage [2009/04/28(火) 10:48:06 ] プロジェクト→プロパティと開いたのですが、その後の項目で何を選べばいいのか分かりません。 2005ではリンクからライブラリの一覧が見れましたが、2008でリンカを選んでもそれらしい項目がありません。 他の項目も見ましたが、どこから追加すればいいのか分かりませんでした。 詳しく教えていただけないでしょうか。
335 名前:デフォルトの名無しさん mailto:sage [2009/04/28(火) 10:53:59 ] 詳しくも何もヘルプに書いてあるだろ。探せなきゃ「リンカ入力としての .lib ファイル」でググれ
336 名前:デフォルトの名無しさん mailto:sage [2009/04/28(火) 11:02:00 ] >2005ではリンクからライブラリの一覧 これ、何のこと言ってる? もしかしてC++/CLIか?
337 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 17:44:18 ] VC++用のXML SDKってどこからダウンロードすればいいでしょうか?
338 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 18:12:08 ] >>337 www.microsoft.com/downloads/details.aspx?FamilyID=AD0B72FB-4A1D-4C52-BDB5-7DD7E816D046&displaylang=ja
339 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 18:18:04 ] >>338 さんくっす
340 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 23:01:53 ] >>337 一応、VC付属のSDK・MSDNライブラリにもMSXML関連のものは入っていたはず。 望みのバージョンのものかどうかはともかく。
341 名前:デフォルトの名無しさん [2009/05/01(金) 15:15:49 ] MFCやWin32APIでつかうGDI+について、書かれてる本ってないですか?割とくわしめに書いてある本。。 洋書でもいいです。近くの大本屋4件くらいまわってもなかったもんで・・ もしあれば、Amazonで買おうと思います。
342 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 15:50:48 ] またお前か
343 名前:デフォルトの名無しさん [2009/05/01(金) 21:04:33 ] すみません。IEの現在表示してるアドレスを取得する事って可能ですか? vcだけじゃ無理で、IEのSDKとかつかうんですかね・・
344 名前:343 [2009/05/01(金) 21:10:14 ] 事故解決しました。ググッたら色々でてきました。うへぇ〜。
345 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 21:14:16 ] この辺見ればできると思う www.nitoyon.com/vc/tips/ie_component.htm
346 名前:344 mailto:sage [2009/05/01(金) 21:18:50 ] >>345 どうもありがとうございます><;そこは詳しく載ってますね><; 私がググって見つけたページよりも実践的なサンプルが載っています。 連休中にタスクバーに常駐するお気に入り管理ツールを作ろうと思いまして・・ ブラウザのお気に入り機能って使いにくいですよね><;
347 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 06:20:13 ] StretchDIBitsとStretchBltの違いってなんですか? メモリ上がなんとかとなってるんですが意味がわかりません
348 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 08:43:10 ] >>347 StretchBlt: コピー元がHDC StretchDIBits: コピー元がBITMAPINFO/void*
349 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 17:48:53 ] main()関数のソースファイルが、同じソリューションかつプロジェクト内の他の ソースファイルにリンクできてないようで、ビルドするとリンクエラーが出ます。 error LNK 2001:外部シンボル 〜〜〜〜 は未解決です。 fatal error LINK1120: 外部参照4が未解決です。 のメッセージが出ます。 正しくリンクできるように設定するにはどうするんでしょうか。 Visual Studio .NET 2003 Professional 作成したプロジェクトは Visual C++ プロジェクトの「コンソールアプリケーション(.NET)」です。
350 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 18:33:04 ] インクルードしてないとかいう落ちだろ
351 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 18:45:13 ] CLRならC++のみだし、、、Cリンケージの問題でもなさそうか? 参照設定してないとかいう落ちとか
352 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 19:14:17 ] 原因わかった。ファイルは実はリンクできてた。 vectorコンテナを使ってる箇所を直す必要がある。 前に単一のソースに書いてBorland C++ Compilerで正常にコンパイル成功 していたプログラムを拡張しようとしたが、他のファイルで定義したクラスの 変数宣言は問題無いが、 std::vector<class fileman> fman_databox1; で定義して fsize1 = fman_databox1[n1].getfsize(); のように、vectorコンテナに添え字演算子で要素を取り出したものから、 メンバー関数を使おうとする箇所があるとエラーが出るということがわかった。
353 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 19:19:11 ] fatal error 実はリンクできてた 直す必要がある 分裂症ですか?
354 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 19:44:27 ] 一度ポインターにアドレスを代入してからメンバー関数を呼ぶように変更しよう としたけど、そうやってもエラーになった。 IDEはちゃんとリスト選択が出てくるのに。 inlineを取ればリンクできた。 そんなことがあるのか、何でインライン関数にすればエラーになるんだ。
355 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 20:02:26 ] インライン関数の展開って、コンパイル時に行われるからじゃないのか?
356 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 08:31:41 ] テンプレートクラスで静的メンバ変数を使おうとすると、 >LNK2019: 未解決の外部シンボル のエラーが出るのですが、どういった風に解決するのが一番でしょうか。
357 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 08:36:02 ] テンプレートなのに何で静的なんだよ
358 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 08:43:27 ] クラスごとにインスタンス数を数えたいのですが、 CountingObject : BasicCounting< CountingObject >と継承して、 BasicCountingのコンストラクタ、デストラクタでBasicCounting::countの値を増減しようと考えています。 テンプレートクラスで静的メンバ変数というのは、おかしいのですか?
359 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 08:48:51 ] そんなくだらない話はC++スレでやれ
360 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 11:42:04 ] >>356 クラステンプレートでないクラスの場合と同じで、変数の定義が必要。 class Foo { static int Hoge; }; int Foo::Hoge; tempate<typename T> class Bar { static int Hoge; }; template<typename T> int Bar<T>::Hoge; なお、クラステンプレートの静的変数は実体化させる必要があるので、 クラステンプレートのメンバ関数などと同様、通常はヘッダに定義を書く。
361 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 12:56:35 ] コンパイル時にエラーがあるとVSでエラー箇所教えてくれるしエラーメッセージも出るからアサートって書く必要ないですよね
362 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 12:59:30 ] 構文エラー等ならコンパイル時にエラーになるが、0 division 等はエラーにならない。 よってアサートは必要。
363 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 13:11:44 ] コンパイルエラーが出るうちはデバッグは楽だ。 実行時エラーになるととたんに対処が面倒になる。
364 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 13:34:07 ] コンパイルエラーとアサートと同次元で語るやつが理解できない。
365 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 13:43:28 ] >>364 まあまあ、ココは初心者スレだからいいじゃないか。
366 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 19:16:07 ] 実行時エラーと言いたかったんじゃないかなあ
367 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 20:03:49 ] それは違くね?
368 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 08:46:18 ] そうか? アサートとコンパイルエラーが同レベルで出てくるなんて 初心者だってありえないだろ
369 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 08:55:35 ] >>368 「ありえない」か?確率0%か? いや、初心者ならそのくらいありえるのではないか? およそ、初心者に「ありえない」ことは「ありえない」んでは?
370 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 10:04:21 ] アサートという言葉を知ってるのにか? 当人に聞いてみなけりゃ分からないけど、 ありえないと言えるくらい見当違いなことだよ
371 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 10:09:22 ] たぶん釣りじゃないのかw
372 名前:デフォルトの名無しさん [2009/05/05(火) 20:20:07 ] MFCでなんか面白いもの作りたいんだけど、思いつかない。 サンプルが載ってるページってありますか?自力で作るのもいいんだけど・・お代が無いし。
373 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 21:02:58 ] じゃ、タスクマネージャでも作ってみろ
374 名前:デフォルトの名無しさん [2009/05/05(火) 22:54:51 ] >>373 タスクバーに入れる方法がわからないから、却下でござる。
375 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 23:07:59 ] C言語始めようかと思って先ほどマイクロソフトのVisual C++ Express Editionってのをダウンロードしました 試しに参考書に載ってる簡単な足し算を表示するプログラムを書き写してみたんですが、 どうやってその書いたプログラムが動くのかが分かりません・・・
376 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 23:23:29 ] F6でコンパイル F5で実行、だが・・・多分出てすぐ消ええる。 VCの入門本買って読むべし
377 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 23:38:49 ] コンパイルで調べたら↓ヒットしました msdn.microsoft.com/ja-jp/library/bb384838.aspx 手順の通りにやってみましたがやっぱりすぐ消えますね 分かるように勉強してきます ありがとうございました
378 名前:375 mailto:sage [2009/05/05(火) 23:55:05 ] [新しいプロジェクト]のとこから色々弄ったら実行出来ました! 二桁の数字が表示されただけでしたが色々作れそうで楽しいっすね スレ汚し失礼しました
379 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 00:28:51 ] 以下の2行をmainの最後に入れれば、実行後終了前にリーターンキー入力を待つ printf("リターン入力で終了\n"); getchar();
380 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 00:38:50 ] >>377 プログラムはあなたの思ったようには動かなくても プログラムはあなたの書いたようには動く という格言がある。 これから先何度も何度も味わい続ける事になるだろうが、 これを忘れないようにね。 んでオススメは、Windows環境限定で良ければ #include <conio.h> でgetch();を使うのが良いと思うよ。いかなるキーでも何か入力すれば終了するようになる。 #include <conio.h> int main() { //処理 getch(); return 0; }
381 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 12:09:16 ] >>377 main()の最後の } にブレイクポイントを置けばいいよ。
382 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 12:17:10 ] Ctrl+F5でいいよ
383 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 16:14:48 ] VSとかでプログラムを作らないとデバッグって出来ないのですか コマンドラインでそれ用のオプションつけてコンパイルしてあれこれして デバッガー使うことは出来ますか?
384 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 16:28:01 ] デバッグ自体はコンパイル方法関係ないよ Cじゃなくてもできるし
385 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 16:28:12 ] ↑追加で実行ファイル開いたら問題なく出来ました ごめんなさい
386 名前:デフォルトの名無しさん [2009/05/07(木) 00:03:37 ] 文字リテラルと文字列リテラルが分かれていますが、 どう言ったメリットデメリットがあるんでしょうか? 一文字の文字列を""で囲んでも何の問題もないような気がしますが メモリの使用量が少ないんでしょうか
387 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 00:13:28 ] C言語からやり直せw
388 名前:デフォルトの名無しさん [2009/05/07(木) 00:20:01 ] すいません、今日C++始めたばっかりなんです VBは型ぐらいなら分かるんですがどうしてもふに落ちないもので
389 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 00:32:58 ] 自分もC始めたばっかりなんだけど char string[] = "ABCDE"; char chararray[] = { 'A', 'B', 'C', 'D', 'E', '\0' }; 文字列は文字の配列だよって理解でいいの?
390 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 00:56:44 ] >文字列は文字の配列 読んで字の如し
391 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 02:41:38 ] >>388 VBやったことあるなら、AscとChr$は知っているだろ。 めちゃくちゃ乱暴に言うと文字リテラル'A'は、Asc("A")と同じ。 Ascの戻り値とChr$の引数、VBではLongとかで扱っていただろうが、 Cではcharという独立した型が与えられていると思えばいい。
392 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 08:22:06 ] n文字型があれば1文字型は不要ではという質問だと思うが、 文字の比較や判定の基本はバイト単位だな 32bitや64bit単位でできないこともないけど
393 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 08:38:31 ] ああunicodeもあるから 文字単位で比較か
394 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 11:54:01 ] >>386 文字と文字列の理解が怪しいな。 そもそもポインタとか分かってる? いきなりC++にいくのは自殺級に難しいと思うからC言語から学んだ方が良いと思うよ。
395 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 11:57:40 ] >>389 > 文字列は文字の配列だよって理解でいいの? いいんじゃない。文字列は文字型変数の配列ね。 あと実際に文字列は扱えないからその先頭アドレスで扱うことになるってことを理解してくれ。 例えば "ABCDE"=="ABCDE" がtrueになるかどうかは処理系依存。 左の"ABCDE"と右の"ABCDE"が別に確保されていればアドレスが異なるから これはfalseだが、コンパイル時にコンパイラが気付いてメモリ節約のために 同一文字列をマージすればtrueとなる。 > char string[] = "ABCDE"; > char chararray[] = { 'A', 'B', 'C', 'D', 'E', '\0' }; これは全く同じになりますよ。
396 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 13:27:08 ] で、結局メリットデメリット誰も言えないわけで
397 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 13:36:05 ] >>396 は?頭おかしいの?
398 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 13:44:03 ] データ型が違うという事実があるだけで、メリットもデメリットもない メリットは使うときがくれば分かるとしか言いようがないな 使わない人にとっては面倒なだけと言えばデメリットにもなるだろうが、それは何にしてもそうだろう
399 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 14:10:36 ] これだからVB厨はコンピュータのこと何もわかってないと 言われるんだよ Cやったあとはマイコンもやれよ で電子回路やってFPGAもやれ そこでやっとプログラマといえる
400 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 14:34:58 ] まぁ、いいんじゃないの一つずつ覚えていけば VBは直感でも何となくできるし、プログラマへの足がかりぐらいにはなってると思うよ 偉そうだったらぶっ飛ばしたなくるけどw
401 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 14:37:26 ] >>399 しかたないさ、何てったってvisualかつbasicだもんなw そりゃしょーがない
402 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 14:42:49 ] 別にVBでもいいじゃん。 ただし >>396 > で、結局メリットデメリット誰も言えないわけで 全く見当違いな質問に対して答えないだけで 「言えない」発言をする低能を除く!
403 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 14:44:30 ] そろそろソフトウェアとハードウェアを一緒に考えてしまってるプログラマが えらそうにしている風習を改めないと。
404 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 15:02:35 ] 一方しかわからないやつに偉そうにされるのはもっと嫌だw
405 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 21:55:25 ] 同じプロジェクトのソースをいろいろなビルド構成や複数バージョンのVCで ビルドしているのですが、ビルド構成やVCのバージョンごとに、 リソースのFILEVERSIONやPRODUCTVERSIONの右端の数字を 違う値にしたいと思っています(どういう構成でビルドされたものかを示すため)。 ビルドするたびに手動で書き換えていると絶対に忘れてしまうことがあるので、 ビルド時にこの数字を自動で書き換えたいのですが、 VC6、VC2005、VC2008に共通の方法はありますでしょうか?
406 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 21:59:44 ] それぞれの構成で 別々のコンパイラオプション /D "文字列" を定義する。あとはコード内で #ifdef "文字列"
407 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 22:06:43 ] MSC_VER見たいな定数がそれぞれ決まってたような気がするから プリプロセスでその値を見て文字列を選ぶ
408 名前:デフォルトの名無しさん [2009/05/07(木) 22:56:01 ] 数値にインクリメントは使えないのでしょうか cout<<2++; で3になると思いましたがエラー出ました
409 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 23:16:49 ] >>408 C言語の基礎だぞ。 ++は変数に対してのみ使える演算子です。 しかも百歩譲ってインクリメントできたとしても cout<<2++; では結局2が出力されるだけ。 その上言いたいことは >エラー出ました エラーメッセージを100回読め。
410 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 23:47:24 ] マネージ拡張C++する奴はおらんのか。 VB.NETでやるならまだしも、C#みたいな中途半端言語で.NETやってるのか。 C#でやるよりも、C++の標準ライブラリを生かせていいと思わないか。
411 名前:デフォルトの名無しさん [2009/05/07(木) 23:50:37 ] じゃあ、マネージ拡張を勉強するので、本を贈ってください。
412 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 23:54:54 ] マネージ拡張C++はある意味中途半端なんよ。 C#かC++のように極端のほうがいい。 C#でどうしてもスピードが足りないときのみか、C++資産使うときだけ。マネC++
413 名前:デフォルトの名無しさん mailto:sage [2009/05/08(金) 01:45:13 ] VC2008EEのデバッガを使ってデバッグ中、 値が見れない(デバッグのウィンドウに表示されない)変数があるんですけど、なぜなんでしょう? その変数はforの{}内で宣言した変数なんですけど関係ありますかね?