1 名前:Part28の1000 mailto:sage [2008/02/15(金) 01:45:56 ] Visual C++入門者・初心者からの質問を、 お兄ちゃんお姉ちゃん達が優しく、時には厳しく回答してくれるスレッドです。 ■質問するにあたって ・エラーや警告のときはエラーメッセージを書きましょう。 ・開発環境も書きましょう。 ・できるだけ具体的に。 質問の仕方については次のページが大変参考になります。 www.hyuki.com/writing/techask.html myu.daa.jp/osiete/ ■回答するにあたって ・回答する場合はその答えに至るための「コツ」も書いてあげると良いでしょう。 (MSDNのどの項目だとか、何のキーワードでGoogleするとか) ・ネタや煽りは軽く流しましょう。 過去スレ、関連スレなどは>>2-5 辺り。
709 名前:デフォルトの名無しさん [2008/04/09(水) 21:54:15 ] >>708 ありがとうございました。可能ということで、勉強したいと思います。
710 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 22:33:41 ] >>709 sprintfとかで速効
711 名前:705 [2008/04/10(木) 09:50:43 ] >706 一応グローバルで宣言してるつもりで関数の外で宣言してます。 ちなみにC言語は初心者レベルで理解してるつもりです。 まだ、簡単なソフトを1つ作っただけですが。。。初心者レベルで。
712 名前:デフォルトの名無しさん [2008/04/10(木) 10:50:01 ] 最近VisualC#2008 Expressをダウンロードして使っているものです。 質問なのですが、 イミディエイトウィンドウを使ってコマンドを入力してデバッグできる ことを知ったのですが、普通にGUI上からデバッグするだけでは できないことや効果的な利用方法などがあったら教えて頂きたいです。
713 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 10:53:47 ] ここC#じゃないよ
714 名前:デフォルトの名無しさん [2008/04/10(木) 12:20:50 ] static DWORD beforeTime = 0; DWORD nowTime;static int fps = 0;char buff[80]; nowTime = timeGetTime();fps++; if ( nowTime - beforeTime >= 1000 ) {wsprintf(buff, "%05d FPS\n", fps); TextOut(hDC,1,1,buff,lstrlen(buff));fps = 0; beforeTime = nowTime; } counter++; これは某所にあった FPSを表示するソースの一部なんだけど これを使うと(WM_TIMERで呼ぶと) 最初の一回は00001FPSと出て、その後は25000とか二万を越える値が出ます。 どうして?
715 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 12:31:49 ] 1秒に25000回呼ばれてるんだろ
716 名前:デフォルトの名無しさん [2008/04/10(木) 12:56:24 ] >713 あ、思いっきり間違えました! すいません。
717 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 05:19:00 ] リソースファイルは、Express Edition じゃビルドできないんですか? ちなみにバージョンは2008です。
718 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 06:07:09 ] リソースコンパイラはRC.EXE
719 名前:705 [2008/04/11(金) 10:28:39 ] どなたかヒントだけでも教えていただけませんか?
720 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 11:27:20 ] >>705 文字を替えたいコントロールのIDをIDC_STATICから別の名前に替えてみて
721 名前:デフォルトの名無しさん [2008/04/11(金) 12:07:17 ] >>720 変更しましたところ、グループボックスの文字が変化しました。 グループボックスのIDもIDC_STATICになっていました。 その原因は GetDlgItem(IDC_STATIC)->SetFont(&font); でIDを変更していなかったので、 ここでGetするIDも変更したのですが、文字は変化しませんでした。 原因はこれですか??
722 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 12:40:58 ] >>721 IDC_STATICってのは (-1) になってて ID未設定でいいときに使うんだよ。 プログラム中で指定するなら自分でIDつけろ
723 名前:デフォルトの名無しさん [2008/04/11(金) 13:36:40 ] >>722 ありがとうございます。 しかし、変更しましたが文字は変化しません。。。
724 名前:デフォルトの名無しさん [2008/04/11(金) 13:43:12 ] すいません。文字変更できました! なぜかスタティックテキストの上に全く同じスタティックテキストができていて、 上を必死に変更してたのですが、下のものが表示されてたためにいくらやっても変化しなかったようです。 コピーやペーストをした覚えはないんですが、、、 でも、おかげさまでIDのことを覚えることができました。ありがとうございました。 もっと勉強してきます!!
725 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 21:00:41 ] しかしこのスレって土日になるととたんに書き込みなくなるよね 仕事でこんなところに書き込んでる奴ばかりなんだろうか
726 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 03:40:49 ] 仕事でか(((( ;゚Д゚))))
727 名前:デフォルトの名無しさん [2008/04/13(日) 09:24:12 ] VC++2008ExpressでReleaseでビルドしてもtest.exeファイルが作成されません Releaseフォルダにはtest.exe.intermediate.manifestやtest.objがあるだけです どうすればいいですか?
728 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 09:52:27 ] >>727 あるじゃん
729 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 10:16:14 ] Releaseフォルダは2箇所にある。
730 名前:デフォルトの名無しさん [2008/04/13(日) 10:35:39 ] >>727 ほんとだ
731 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 12:13:21 ] >>727 リンクエラー出てませんか?
732 名前:デフォルトの名無しさん [2008/04/15(火) 18:04:24 ] 設定に関する質問です。 以前VisualC#2005をつかっていた時は、 括弧を閉じたりセミコロンを入れると自動でコードが綺麗に整列されて、例えば x=5 が x = 5 というように、空白が挿入されたりインデントされたりしてたのですが、 こういった機能はVisualC++2008にはありますか? 自分でも調べたのですがよくわかりませんでした。設定方法がありましたらお願いします。 上手く説明できなくてすみません。。orz
733 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 19:18:10 ] >>732 C++に、そういう機能はなかったはず C#なら2008にもある
734 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 20:07:24 ] そうですか。。回答ありがとうございました
735 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 20:50:01 ] C#はそんなのがあるんだ。 C++は他の言語や環境と比べると不便さを感じるかもね。
736 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 21:11:22 ] 昔からVBがそうだけど、特にVCが不便と感じたことはない 逆にいちいち余計なことされるとむかつく
737 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 22:37:16 ] VBは改行時にいちいち構文チェックしてうざかったな〜 .netになってからVBとかC#とかのインテリセンスはかなり優秀に C#になれてたんでVC++にきたときに不便さに困った 今となっては慣れたけど
738 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 03:22:50 ] C++ はマクロとかあるし、それ抜きにしても文法凶悪だからね。処理系的には。 賢くしづらいのはよく分かる。
739 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 03:29:29 ] VCで極力小さい実行ファイルを作るにはどうしたら良いのでしょうか。 #include <windows.h> int WINAPI WinMain (HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdParam, int nCmdShow) { return 0; } だけをコンパイルしても24KBにもなってしまい、ビルドオプションで サイズ優先とかしても変化せず。 変なランタイム使ったり実行ファイルが圧縮されてるわけでも無いのに、 ファイルサイズ10KB台で色々な処理をしてるまともなGUIツールが あるんですが、何をどうしたらこう言う実行ファイルが作れるのか 皆目見当が付きません。
740 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 05:43:44 ] 既存のライブラリを使わない
741 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 06:57:12 ] あとは/opt:nowin98だっけか。
742 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 09:55:28 ] どなたか www.whitire.com/vbs/tips0199.html をvc++に移植してください!
743 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 10:43:12 ] 移植もなにも…
744 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 11:16:47 ] できあがったDLLからC++のdllexport関数をDEFファイル形式で吐くツールとかないかな・・・
745 名前:742 mailto:sage [2008/04/16(水) 11:40:27 ] こんな感じで呼べますか? www.geocities.co.jp/SiliconValley-SanJose/5309/vbaxdll_smp.html
746 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 14:58:36 ] >>740-741 きっちり1KBの実行ファイルが生成される様になりました。 有り難うございました。
747 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 00:53:24 ] ファイルから読み込んだ文字列から数字を取り出す方法を教えてくれないか [100,100] こんな感じの文字列なんだが "[%d,%d]" こんな書式を使って文字列から数字とか文字列とか取り出せるCの関数ってなんだっけ? もし、C++だったら別のいいやり方があったらそっちを教えてくれたら嬉しい。
748 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 00:58:11 ] 自己解決、sscanfだ!
749 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 03:33:25 ] スクリプト処理させるなら","やらスペースやら"[" "]"やらでトークン識別して 個々の文字列をatoiとかで読み取らせる方がいいよ
750 名前:デフォルトの名無しさん [2008/04/17(木) 08:14:17 ] sscanf()で%[]や%nを駆使する方がましな希ガス。
751 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 08:38:20 ] sscanfは黒歴史だよ
752 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 08:48:49 ] Cスレ行け
753 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 14:51:45 ] >>750 入力ミスのチェックとか考えると自前で文字列解析処理作った方がいい 仕事でスクリプターが別にいる場合とかはチェック必須だしな
754 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 13:51:12 ] あるクラス(以下CTest)をdllにして別のプロジェクトでリンクして 使ったときに、デバッグモードの時だけエラーが出ます。 ソースはこれだけなんですが・・・ 1: CTest *ptest = new CTest; 2: delete ptest; 2行目実行時に「Invalid Address specified to RtlFreeHeap」 が出力されてブレークします。ヒープ領域の開放が上手くできて いないような感じかと思ったのですが、具体的にどうしたら 良いのか分からないです。よろしくお願いします。
755 名前:デフォルトの名無しさん [2008/04/18(金) 14:04:11 ] CTestの中身がなんか悪さしているんじゃない?
756 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 14:36:49 ] 実際のheapいじるメモリ確保がdllと本体側でまたいでんじゃないの?
757 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 22:27:40 ] new CTest;
758 名前:モンキー [2008/04/18(金) 23:07:11 ] BorlandのBCC55を使って初めてコンパイルを試みましたが、うまくいきません。 c:\に「cppprog]というフォルダを作成し、そこに「hello.cpp]という名前で 保存しました。 コンパイル手順として、コマンドプロンプトを開き、スタートメニュー から「ファイル名を指定して実行」を選び、名前(O)にcmdと入力し、cmd.exe ウィンドウが開き、プロンプトがカレントディレクトリとして、Documents and Settings¥木村が表示されます。ここで「cd\cppprog]でEnterキーを押しても カレントディレクトリは、Documents and Settings\木村のままです。 どこで違った可能性があるかご指摘いただきたいとおもいます。
759 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 23:10:25 ] cd c:\cppprog ですにょjk
760 名前:デフォルトの名無しさん [2008/04/18(金) 23:15:10 ] >>758 木村さん乙。
761 名前:モンキー [2008/04/18(金) 23:16:13 ] 758です。間違いました。C:¥>cd \cppprog エンターキーで 指定されたパスが見つかりません。と表示されました。よろしく お願いいたします。
762 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 23:22:45 ] タダで使えるBorland C++ Part5 pc11.2ch.net/test/read.cgi/tech/1135127048/ Borland C++ Compiler オ ワ タ pc11.2ch.net/test/read.cgi/tech/1206951221/ Borlandにはやられた... pc11.2ch.net/test/read.cgi/tech/1146850339/
763 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 23:42:37 ] 木村乙
764 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 23:42:44 ] すれ違いな気がしなくもない ってかBC++使ってるやつって VC++けなす奴が多くてなんか嫌
765 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 23:46:42 ] BC++Builderは、あれはRADだと俺は思う。どっちかっつーとVBに近いような。
766 名前:デフォルトの名無しさん [2008/04/18(金) 23:55:36 ] C++使えるんなら、態々VC++使う理由が判らん マゾか何か?
767 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 03:32:23 ] C++使えるんなら? VC++使う理由がわからん? その日本語がわからん。 中国人か何か?
768 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 12:00:27 ] 766みたいなキモイのがいるからBC++はさわる気にもならない VC++使いたくなくても使わなきゃならない場合もあるんだけど BC++マンセーしてるやつにはそういう状況は想像できないんだろうね キモすぎ
769 名前:デフォルトの名無しさん [2008/04/19(土) 22:06:58 ] いきなりですが、質問です。 Dim img As New Bitmap(16,16)でビットマップを作成して img.SetPixel(4, 4, col) でに色をセットして PictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage PictureBox1.Image = img でピクチャーボックスに拡大表示 するとなんとSetPixelでセットした色が丸くピカーンと光ります。 並べると干渉したりします。 1pixelを四角く表示する方法を教えてくだされ。 リージョン作って黒く塗りつぶしたのを最初に作ったbitmapに描きこむのかなー? その方法もよくわからんし、助けてー
770 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 22:21:28 ] 日本語でおk
771 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 22:39:44 ] 懐かしいコピペだな
772 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 08:01:03 ] 超初心者的質問で恐縮なのですが、ダイアログボックス表示について質問させてください。 下のように、ダブルクリックしたときにリソースエディタで作成したIDD_DIALOG1のダイアログを 表示させたいのですが、どうすれば表示できるのでしょうか。 開発環境はVisual C++ 2005です。 void CChildView::OnLButtonDblClk(UINT nFlags, CPoint point) { // TODO: ここにメッセージ ハンドラ コードを追加するか、既定の処理を呼び出します。 /* ここでダイアログボックスを表示させたい */ CWnd::OnLButtonDblClk(nFlags, point); }
773 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 10:46:31 ] VC超初心者です。 ソリューション、プロジェクトのプロパティで、 構成のデバック、リリースて切り替えることで、なにか変化あるのでしょうか?
774 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 11:38:20 ] ファイルサイズが違う。生成されるコードも違う。そもそもデバッグビルドは再配布禁止。
775 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 13:28:38 ] >>772 mfc ダイアログボックス でぐぐれ
776 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 01:36:45 ] 以前、C++相談室スレでも質問したのですが解決せず、原因はVC++の設定にあるようなので、 こちらで再度、質問させてください。 ttp://www.asahi-net.or.jp/~yf8k-kbys/newcpp18.html このサイトを見ながらC++の基礎を勉強しているのですが、このページのデストラクタのサンプルプログラムを VC++2008EEに打ち込んでも「消滅しました」のメッセージが出ないのですが、考えられる原因はありますでしょうか? ページ内にある2つのプログラム両方で、「生成されました」「呼び出されました」のメッセージは表示されるものの デストラクタの「消滅しました」に関する部分だけスルーされているように表示されないのです。 筆者の書いたものをコピペしても解決しないうえ、C++相談室スレでの報告によると、 報告者の環境では問題なく表示されているそうです。 宜しくお願いします。
777 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 01:39:30 ] とりあえず中間ファイルを消して、 ディレクトリ全体を zip なり lzh なり圧縮してうpしてくれ。
778 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 02:06:22 ] >>776 VC2008に原因を求めるよりは、君に原因を求める方が早い。 打ち込みミスとか、そのまんまなら打ち込みでなくコピペするから、それ以前で何か思い違いがあるとか。 つまり>>777 に従ってくれるのが手っ取り早い、と。 #ああ、>>777 getしたかった。。
779 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 02:14:50 ] C++/CLIなので デストラクタじゃなくて、ファイナライザが動いてるとか
780 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 02:32:50 ] あー、それありそう。
781 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 02:32:59 ] …と思ったけど、 どのみちlocal変数だから デストラクタが呼ばれるか… ちなみに、 VC2008EE で試してみたけど いずれもちゃんとデストラクタが呼ばれたぞ。
782 名前:776 mailto:sage [2008/04/21(月) 03:33:59 ] 中間ファイルというのがよく分らなかったので、とりあえず丸ごとUPしました。 kissho.xii.jp/1/src/1jyou33385.zip.html DLKeyは「cpp」です。 こういったファイルに個人情報が自動的に含まれてしまうのか分りませんが、 もしあったら削除しておいてください^^; ちなみに、アップ前にもう一度テストしてみましたが、やはりダメでした。 宜しくお願いします。
783 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 04:12:53 ] 分かったわ。 デバッグ実行してるだろ? pause の部分ではまだデストラクタは実行されないから、 そこでは消滅しましたってところは表示されない。 で、何かキーを押したらデストラクタが実行されて表示されるんだけど、 すぐウィンドウが閉じられるからそれを見ることは出来ない。 Ctrl+F5 で実行してみれ。
784 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 04:26:33 ] KENT君乙
785 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 11:03:36 ] 学習過程はC→C++→API→MFCといった順序がよろしいのでしょうか?
786 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 12:41:26 ] どんな順序でも覚えられれば何でもいいが、その順序は悪くない
787 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 13:37:54 ] >>785 ベストといっても過言ではない
788 名前:776 mailto:sage [2008/04/21(月) 15:02:24 ] >>783 pauseがダメだったんですね。。。 ctrl+F5で実行してみます。ありがとうございました。 >>784 そこは分っちゃうんですね^^;
789 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 17:16:41 ] Visual studioでコンソールアプリケーションを実行したときに、cmd以外(ckwなど)で実行させる方法ってありますか?
790 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 17:27:38 ] 実行させるプログラムを書く
791 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 17:36:21 ] 具体的に何がしたいのか。 パイプを標準入出力として子プロセスでコンソールアプリを動かすのはよくやる。
792 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 17:43:07 ] 適当にコード書いてF5押してデバッグ開始したら、cmd.exeの代わりに別のもので実行するようにしたいのです
793 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 18:48:27 ] ここ初心者スレだし 通常と異なる特殊な使い方の質問はスレ違いとしか思えない
794 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 18:51:17 ] 普通か特殊かなんて初心者に求めるなよ Visual C++で書いてんならスレ違いじゃないだろ
795 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 19:00:15 ] はっきり言ってスレ違いです
796 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 19:03:55 ] cmd.exeが起動されてるんだったらそれを違うものに置きかえるだけ
797 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 19:11:12 ] cmd.exe呼んでるかねぇ
798 名前:デフォルトの名無しさん [2008/04/21(月) 21:15:18 ] コマンドプロンプトにprintf命令で文字を表示させたいんだけど、実行するとすぐにコマンドプロンプトが消えます。 getchar()でコマンドプロンプトが消えるのを止めるしかないんですかね?
799 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 21:27:00 ] >798 それがwindowsの仕様で正常な動作 別に変でもなんでもないから気にするな というかコンソールプログラムはコンソールで使うものだ
800 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 21:29:39 ] もうVCスレにはFAQでテンプレに入れた方がいいんじゃないかってくらい多い・・・
801 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 22:46:51 ] VC++2005とVC++2008ってどっちが使いやすい? 両方触ったことある人に聞きたい
802 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 22:51:07 ] 機能を使いこなせてないと、どっちも変わらないとおもうぞ。
803 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 23:33:19 ] >>802 そっか それなら最新の2008版にしてみる 情報サンクス
804 名前:デフォルトの名無しさん [2008/04/22(火) 01:12:32 ] C++を学ぶオススメサイトってやっぱ猫でもわかるってヤツ?
805 名前:デフォルトの名無しさん [2008/04/22(火) 01:18:48 ] ねこは嫌
806 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 02:31:19 ] wisdomsoftってとこで今勉強してるけどこれ良いんだろうか
807 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 02:49:31 ] Kitty on your lap か? 俺は使い方とかの参考で世話になった。 俺の経験を言わせて貰えば、猫もそうだけど、この手のサイトは函数の使い方の確認にして、 詳細はMSDNみたり、実際に簡単なテストコード組んでためしたほうがいい。
808 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 03:33:09 ] コンソールアプリ作るならまずはDOS窓使いこなせよ
809 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 05:18:24 ] C++ を学びたいのか Windows プログラミングを学びたいのかで 大きく変わってくるな。
810 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 09:26:52 ] >>798 これが最後だぞ つ【Ctrl + F5】
811 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 09:49:25 ] main()の最後にブレークポイントとかな
812 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 09:50:36 ] >>808 DOS窓じゃなくてコマンドプロンプトって言え
813 名前:デフォルトの名無しさん [2008/04/22(火) 11:10:39 ] ちわ、MSに氏ね氏ねメールを送るところでした マネージ形式でデバッグ中に中断してソースを変更してデバッグ開始すると 第2コンパイラが中間言語を解放しなくて(? exeファイル削除できない>exeを作成できない>デバッグできないという状態になり ログオフログオンをしないとデバッグが出来なくなり1日苦しみました ちゃんとデバッグを停止しないといけないんですね、僕だけですか これからお世話になると思いますがよろしくです、でわでわ
814 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 20:12:22 ] タスクマネージャで〜.vhost.exeを殺せばええやん。
815 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 20:12:33 ] なんなんだこれは
816 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 22:47:36 ] おにいさんおねいさん、 ファイル操作について質問です。 −条件− ログファイルがあって、アプリは1行書くごとにopen/write/closeを行います。 エラーが発生した際とアプリの開始・終了時に書き込みを行います。 ログファイルはサーバーPCに保存され、アプリ利用者(クライアントPC)からログファイルを見ることはできません。 保守担当がリモート接続でのみ見れます。 −質問内容− アプリ起動中にログを見たいのですが、メモ帳などで見てしまうと、 排他がかかってしまい、アプリが書き込めません。 書き込みエラーでアプリが強制終了してしまいます。 どうしたらよいでしょうか? ファイルが書き込み可能になるまでループさせるのがよいでしょうか? 今はファイルをコピーして、「コピー 〜 AAA.log」を見ています。 ファイル操作はMFCを利用しています。 おにいさんおねいさんよろしくです><
817 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 22:50:26 ] CreateFileのFILE_SHARE_READ属性
818 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 08:35:19 ] コピーできてるんなら読めないわけないだろ
819 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 12:23:02 ] >どうしたらよいでしょうか? メモ帳で見なければ良いんじゃないか ログに対して外部から書き込みする必要が無ければ 排他ロックのかからないファイルオープンをするビューアーを探すか、作ればいい >ファイルが書き込み可能になるまでループさせるのがよいでしょうか? ファイル処理で、そういう作り方はする場合は結構ある(書き込みも指定サイズ書き込むまでループとか) どちらにしても、タイムアウトは忘れずに >今はファイルをコピーして、「コピー 〜 AAA.log」を見ています。 べつにこの方法で問題なければこれで良いような気もするが ログを間違えて編集してしまう危険性が低くなるわけだし
820 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 13:10:39 ] メモ帳で開いても排他なんてかかったか?
821 名前:デフォルトの名無しさん [2008/04/23(水) 14:12:33 ] >>801 2008の方が容量小さくね? 2005のプラットフォームSDKがファイルでかすぎる
822 名前:デフォルトの名無しさん [2008/04/23(水) 14:20:08 ] >>808 漢はフロッピー一枚で作る
823 名前:デフォルトの名無しさん [2008/04/23(水) 14:22:36 ] #include <stdio.h> void main(){ int tdn; for (tdn=0;tdn<100000;tdn++){ printf("アッー!"); } }
824 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 17:26:46 ] vectorの配列を作ろうと思い vector<vector<string> > vecStrDim; vector<string> vecStr; string strTest = "test"; vecStr.push_back(strTest); vecStrDim[0].push_back(vecStr); とやってみました。コンパイルは通るのですが This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. とでて実行してもデバッグエラーになります vecStrDim[0].push_back(vecStr);が悪いのはわかるのですが、方法が思いつきません どうすればデバッグエラーを対処できるのでしょうか?
825 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 17:40:09 ] 字が読めないのか? Please contact the application's support team for more information. Please contact the application's support team for more information. Please contact the application's support team for more information. Please contact the application's support team for more information. Please contact the application's support team for more information.
826 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 18:56:09 ] >824 C++のスレあるだろ 【初心者歓迎】C/C++室 Ver.59【環境依存OK】 pc11.2ch.net/test/read.cgi/tech/1206809426/
827 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 18:57:45 ] >>826 申し訳ない、スレ違いでしたか
828 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 20:04:26 ] ×vecStrDim[0].push_back(vecStr); ○vecStrDim.push_back(vecStr); ビルドが通るのはおかしい。どういう環境?
829 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 20:29:39 ] >>828 vector<vector<string> > vecStrDim [10]; ってなってたです。
830 名前:816 mailto:sage [2008/04/23(水) 23:15:55 ] サーバーにはエディタ含めサーバーAP以外をインストールしてはいけない契約になってて、 Windows標準のメモ帳やワードパッドでしか見れない状況です。 書き込み時のエラーを回避して正しく書き込めればいいので、 失敗したらどこかに、、 って自分で書いてて気が付きました>< メモリに持たせておいて排他が解除されたときに書けばいいですねっ! おにいさんおねいさんありがとですっ(^-^)
831 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 23:44:07 ] >>830 > メモリに持たせておいて 書く前に異常終了したら、そのログなくなってしまうからそんな解決策は ダメダメだろ。 せっかく >>817 がヒント書いてるんだから、ちょっとぐらい調べたのか? さっぱりわからんと言うなら、コピーしてメモ帳開くバッチファイルでも 作るほうがマシ。
832 名前:デフォルトの名無しさん [2008/04/23(水) 23:53:43 ] プログラムの一番最後に入れるだけじゃなく、cin命令を使ったあとにもgetchar()を入れないと、実行でコマンドプロンプトが消えるがなぜ?
833 名前:デフォルトの名無しさん [2008/04/24(木) 00:15:44 ] >>832 cinなどは改行文字を喰い残すから、その喰い残しの改行文字が(処理停止のための)入力で喰われてしまうから。
834 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 08:28:27 ] >>830 メモリに確保するくらいなら、書き込み用のファイルと 閲覧用ファイルを別個に用意して 書き込み用に書いた後に、閲覧用にコピー 失敗したら、時間を置いてコピー の方が良いな
835 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 09:33:26 ] ちわ、>>813 です >>814 さんのアドバイスを生かすことが出来ず力不足を感じてます どうやらメモリが足りなかったみたいでセキュリティソフトを切ったら調子良いです 詳しいことは分からずじまいで悔しいです Vistaでメモリ1Gじゃ辛いですかね 今はこんなソフトを作っています、まだソースには手を付けてませんが ttp://www.dotup.org/uploda/www.dotup.org24874.png 年内には何とか・・・でわでわ
836 名前:828 mailto:sage [2008/04/24(木) 20:09:20 ] それだったらエラーにはならないけどな。(.net 2003)
837 名前:デフォルトの名無しさん [2008/04/29(火) 23:02:10 ] VS2005なんですが なにか押したらソース内のtabが「→」に,スペースが「・」になってしまいました これはどうやったら元に戻るんでしょうか
838 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 23:09:49 ] >>837 どこかで反対の質問を見たような気がするが、ctrl+r ctrl+w なのだ
839 名前:デフォルトの名無しさん [2008/04/30(水) 09:11:18 ] 質問です。 組込みプログラムでは一定時間たったら処理をするというタイマー割り込みができるのですが、 VisualC++2005のMFCでもそういった一定時間たったら処理ってのはできますか?
840 名前:デフォルトの名無しさん [2008/04/30(水) 09:14:35 ] とんぜん
841 名前:839 [2008/04/30(水) 09:56:05 ] WindowsアプリケーションではツールボックスにTimerがあったと思うんですが、 MFCだとそのようなコントロールが見当たらないのですが。 どのようにやったらいいですか?
842 名前:デフォルトの名無しさん [2008/04/30(水) 10:05:18 ] APIで対応してるって 一定時間停止やシグナル発生まで待ちとかできる
843 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 10:27:26 ] 組込みの割り込みに相当する機能あるのかな・・・? SetTimer()だと、設定時間経過後にWM_TIMER発行するだろうけど、 実行中の関数を中断して割り込んで来ないし
844 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 10:30:13 ] >>843 リアルタイムOSじゃないのにそんなレベルの割り込みなんて期待しないでください。
845 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 10:32:59 ] APIならCreateWaitableTimer MFC(Windowタイマかな)を使う方法は説明しづらいので検索してみて。 TimerというコントロールはMFCでは使えない。
846 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 10:40:05 ] >>839 素直に、RT系ライブラリ組み込んだ方が良いよ 一時期、クリティカルにA/D値を1msでサンプルするソフト作ってたけど どうやっても、windowsに制御が移ってしまうのに対応できなくて、結局RTライブラリ組み込んだ
847 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 10:55:15 ] >>843 そんな機能はAPIレベルではない マルチスレッドにして、割り込みをOSに期待するしかない
848 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 12:35:26 ] Microsoft Visual C++ Toolkit 2003 ftp://195.252.112.9/programiranje/programski-jezici/VCToolkitSetup.exe VCToolkitSetup.exe size 32952488 sha1sum 956c81c3106b97042c4126b23c81885c4b5211f4 edonkey checksum ed2k://|file|VCToolkitSetup.exe|32952488|c534888fa7605403dcb183d2d15282d1|/
849 名前:839 [2008/04/30(水) 13:37:24 ] 皆さんありがとうございます。 ちなみにやりたいことはいろいろテストしてて、 その途中でエラー出したら即終了したいんですよ。 で、エラーフラグを作って定期的にそれを見に行って、 エラーが出てれば終了にしたかったのです。
850 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 14:03:45 ] >>849 エラーを検出したら終了すればいいだけじゃん。 エラー監視の必要はないと思うのだけど。 # その為に例外機構があるのだし、変な小細工を弄する前にちゃんと言語の勉強しようよ。
851 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 17:13:48 ] 組込みと言ってるから外部の機器なんかを監視するんじゃないかな
852 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 18:14:20 ] >>849 素直にマルチスレッドで作ったら?
853 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 18:41:03 ] CreateDialogでダイアログを作って、 親ダイアログを表示した後に子ダイアログを表示させたいんですけど、 WM_INITDIALOGが来た後に必ず来るメッセージってありますか?
854 名前:853 mailto:sage [2008/04/30(水) 18:42:12 ] 失礼。 CreateDialog()じゃなくてDialogBox()でした。
855 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 18:54:18 ] WM_INITDIALOGじゃだめなんだろうか
856 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 18:56:12 ] WM_INITDIALOGでユーザーメッセージを自分にPostすれば?
857 名前:853 mailto:sage [2008/04/30(水) 19:08:35 ] 一応、 WM_INITDIALOGでの処理の最後で自作のウインドウメッセージをPOSTし、 そこで子ウィンドウを作成する処理を書いたんですけど、変わらず 親ウインドウ表示の前に子ウィンドウが表示されてしまいました。
858 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 19:14:57 ] そんなに表示される順序が大事なら WM_SHOWWINDOW使って判定しろ。
859 名前:849 [2008/04/30(水) 21:04:44 ] >>850 エラーがどこで出るかわかんないんでエラーを常に監視したいんです。 で、エラーが出たらもちろん終了させます。
860 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 21:16:01 ] エラーと言ってもいろいろあるから話が通じない
861 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 21:16:40 ] 常に監視したいという割には、 タイマーなんてたまにしか呼び出されないものを使おうとする意図がよくわからん。 で、エラーというのは具体的に何? 関数なんかがエラー値を返すというならmallocみたいにきちんと戻り値確かめろ。 C++例外ならキャッチしろ。アクセス違反なんかならSEHとかで同様に捕まえられる。
862 名前:853 mailto:sage [2008/04/30(水) 21:17:53 ] とりあえずいろいろ試してみます。 コメントありがとうございました。
863 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 21:48:15 ] すみません。C言語の基礎を一通り覚えたところで C++を始めようと思って調べだしたのですが ただ文字の出力を行うだけでも Console::Write(""); と cout<<""; があってどちらの勉強をしていけばいいのか混乱しています。 勉強するにあたって参考になるサイトがあれば教えて欲しいです。
864 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 21:54:34 ] どっちも使わない
865 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 21:57:49 ] TextOutかDrawTextかSetWindowTextあたりを使う 他にもあるかも
866 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 21:57:55 ] どっちでもいいけど世の中の書籍ではcout<<"";使ってる方が多いからこっち使っとくのお勧め。
867 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 22:00:13 ] というかConsole::Writeが使えるC++コンパイラと言えば、VC++しかない罠。 要.NET Frameworkだし。
868 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 22:03:10 ] ということは基本的にメジャーなcout<<"";からはじめているC++の入門サイト からはじめたほうがいいということですね! できればオススメの書籍なんかも教えて欲しいのですが・・・これから買おうと 思っているので参考にしたいです。
869 名前:デフォルトの名無しさん [2008/04/30(水) 22:04:18 ] Nクイーン問題を解くプログラムの一番分かりやすい(オススメ)サイトあります?
870 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 22:07:53 ] 単にC++を勉強したいならcoutでじゅうぶんだろうけど VC++ではほとんど使わない
871 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 22:15:44 ] >>870 C++とVC++の違いがわかりませんorz 僕はゲームプログラミングの勉強をしたくてC言語をいままで独学でやって きたんですが今日図書館で借りた「アドベンチャーゲームプログラミング」 という本の内容を見てまったく理解できず Cを今までやってた意味ってあったのかな・・・と思い、基本はだいたい 把握できたはずなので、C++に踏み出そうと決めました。 正直今、勉強の方向性を見失ってる状況でもあります。
872 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 22:30:31 ] C++はプログラミング言語の1つ。 VC++は、MicrosoftのC++コンパイラ、IDEなどがセットになった製品。
873 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 22:30:56 ] >>868 最近、本を出したロベールさんのとこはどう?
874 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 22:38:40 ] >>872 回答有難うございます。 C++が言語でVC++がコンパイラだということがわかりました! 細かいことはやっぱり二つとも使ってみないとわからないですよね・・・>< >>873 回答有難うございます。 とてもわかりやすいサイトですぐにでも始めたくなりました!
875 名前:デフォルトの名無しさん [2008/04/30(水) 22:56:53 ] 教えてください オフスクリーンビットマップは最大幅4000pixelくらいまでしか扱えないようですが もっと大きい画像を表示させたい場合どうすればよいのでしょうか・・・
876 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 23:07:08 ] coutでゲームプログラミング
877 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 23:09:10 ] >>876 入門はハローワードからでしょ;;
878 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 23:45:56 ] というかConsole::WriteはC++/CLIで、C++を含んではいるが別言語と思ったほうがいい。
879 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 00:36:46 ] >>838 ありがとうございます 助かりました
880 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 04:00:43 ] 文字出力はprintf()しか使わない
881 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 04:05:30 ] >>871 ゲームプログラミングをするなら まずはバイナリデータの扱いに慣れる事だな 2進数、16進数、アドレス、ポインタについても知っておく必要がある 最低でもこれらを理解していないとどうしようもない
882 名前:デフォルトの名無しさん [2008/05/01(木) 04:09:09 ] >>871 C++とVC++は別 いくらC++を勉強してもVC++ができる訳ではない DirectXとWindowsAPIをやらないと出来ない
883 名前:デフォルトの名無しさん [2008/05/01(木) 04:17:33 ] >>869 www.ic-net.or.jp/home/takaken/nt/queen/
884 名前:デフォルトの名無しさん [2008/05/01(木) 04:24:34 ] バイナリデータやC++はゲーム作るのに必ず必要とは限らない HSPやDarkGDKを勧める 【HSP】HSPで3Dゲーム 2 【3D】 pc11.2ch.net/test/read.cgi/gamedev/1181967317/ DarkGDK pc11.2ch.net/test/read.cgi/tech/1208941132/
885 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 04:58:47 ] >>884 わざわざC言語からゲーム作ろうとする人は ゲーム作るってのはあくまでモチベーションを保つための目標であって、 C言語習得が目的だと思っているんだがどうか
886 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 05:44:21 ] 何やっていいか知らないだけ
887 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 05:55:23 ] >>884 ゲームプログラミングの「勉強」をするのには向いてないだろ 楽にゲームをつくりたいならそれでもいいが HSPはともかくDarkGDKの方は日本人の初心者に勧めるのはどうかと思うしな
888 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 06:12:35 ] Dark GDKはDirectX9cフルサポート。マイクロソフトVS2008/VC++のオプションとして無料配布。 初心者を強く意識した設計になっているので、あとは日本語の入門書でもあれば、小学生がひとりで、 3Dゲームを作ってしまう、なんてこともできそうです。もともと DarkBasic というホビーユーザー向けのゲーム開発ツールがあって、 その開発スタイルを C++ に持ってきたのが DarkGDK ということらしいですが、悪くありません。 myhome.cururu.jp/kacom/blog/article/21001671006
889 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 06:40:06 ] あっそ
890 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 08:29:36 ] listviewで一行に大きいアイコン小さいアイコンを表示するにはどうしたらいいですks? ┌──┐ │ │ ┌─┐ │ │ │ ..│ ┌┐ └──┘ └─┘ └┘ また代替方法があったら教えてください
891 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 10:13:38 ] >>885 俺は逆だったけどね プログラムは手段であって、ゲームを作るのが目的 思い起こせば20年前、イースを自分で作りたいと思ってマシン語をやり始めたのが懐かしいw
892 名前:デフォルトの名無しさん [2008/05/01(木) 10:14:45 ] ふつうはなるべく実用的な速度が出せて完成されられるやつ選ぶよな
893 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 10:16:20 ] >>890 アイコンを小さく描画した大きいアイコンを使う。 それかオーナードローとか。
894 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 10:16:59 ] 趣味ならHSPでもいいだろうし、ゲームツクールでもいいだろ プログラムを仕事にしたいならC/C++だろう
895 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 11:18:05 ] 本当にゲーム業界に入るのを目指してるなら、 最初からVC++とDirectXで組むくらいでいかないと。 それでできないなら辞めた方がいい。 趣味なら別になんでもいい。
896 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 12:14:57 ] >>892 ゲームプログラミングって、結局そこなんだよ 最初に、簡単な言語をつかってソフト組んで見る で、おもったよりスピードが出ないのでほかの言語でためす で、最後にアセンブラ最強!と叫ぶ
897 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 12:47:18 ] 最初から出来る限りのスピードが出る言語で組む 動作環境を推定する デザイナーにその環境内で動作可能なデータを指示する