1 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 06:18:18 ] プログラミング言語C/C++についての、小心者向けスレです。質問・要望・雑談などどうぞ。 関連スレやURLは>>2 以降。 ■質問する人へ 質問する前に次の3つをすること。ここで回答を待つよりそのほうが早い。 ・ぐぐる ・マニュアルで探す ・FAQを読む 例えば www.bohyoh.com/CandCPP/FAQ/index.html 質問には以下を書くこと。へたくそな質問は再提出を要求される。 ・詳しい内容(「動きません」「うまくできません」では回答しようがない) ・エラーメッセージ(なるべくそのままで) ・実行環境(OS名、コンパイラ名) ・最終的にやりたいこと(もっとよい方法がある場合が多いので) 回答してくれた人には「ありがとう」のひとことをいってあげて。 ■回答する人へ 相手は小心者、根気よく育てるつもりで。質問がへたくそなのも大目にみてあげる。 それができないならこないこと(だって小心者スレだもん)。 ・既出な質問やFAQは「XXXを読め」でいいので、叩かない&怖がらせない。 ・わけわかな質問にもエスパー発揮で。できれば質問の仕方を教えるぐらいで。 ・自信がない回答ならその旨表明すること。誤った回答は初心者じゃ見抜けない。 宗教的な話題は禁止します。
321 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 22:04:41 ] >>316 大抵の場合、フルビルドを立て続けにやることはなく、プリコンパイルヘッダの効果で意味がないと思われ
322 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 22:37:19 ] google C++コーディングスタイルに、 cppファイルの無名名前空間の使用は推奨されてたのですが 理由はなぜでしょうか。cppファイルは別に何をやってもいいような。 cppファイルですらusing使うのは駄目なの?
323 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 23:46:37 ] >>322 ほかのcppファイルから見える必要のないものを隠すために使えという意図だと思う。 同じ目的で、名前空間上のstaticも使えるけど、 一般的に、この意味ではstaticより無名名前空間のほうが推奨されている。
324 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 23:57:52 ] static指定のかわりですか、なるほど。 名前空間上の関数定義だったら別だけど クラスのメンバ定義だけしか書かない分には 気にしなくてもいいのかな。 >staticより無名名前空間のほうが推奨されている。 これは等価だと理解してましたが、なぜでしょう。 どっちも他のファイルからは見えないのに?
325 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 00:39:05 ] >>324 もともとC/C++のstaticに静的記憶期間とファイル内って2つ意味があるのはややこしいから、 後者の意味を分離しようという動機で無名名前空間が導入されたという経緯がある。 だから大事に使ってあげてねと言うわけ。
326 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 03:30:11 ] >>324 C++ ではオーバーロードやテンプレートの関係で、クラス名などもグローバルな定義の 識別に使われるので、関数や変数以外に class, struct, enum も別々の .cpp で同じ 名前空間内に同じ名前のものを定義するとマズイ。これが無名名前空間で解消できる。
327 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 02:20:15 ] お題。 ISO/IEC 14882:2003とXLib、Win32APIの範囲内でスクラッチからエディタを作る。 Win32、XLibともに標準C++ライブラリとかぶる機能があるが、この場合 標準C++を優先して使う。 これは、少しでも移植性を高めるための努力と考えてほしい。 また、拡張性の担保ともなりうる。 これは時間かかるけど、やりがいあるよ?
328 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 02:56:40 ] なんだコピペだったのか。
329 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 03:02:01 ] まずISO/IEC 14882:2003がなんなのか調べるのめんどくせえから挫折 →XlibかWin32?どうせなら両立できるwxだろと意気込むがインストール失敗して挫折 →そもそも標準C++が分からなくて挫折 →努力なんかできなくて挫折 →わたるが死んじゃう!(自殺)
330 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 22:30:51 ] すいません CとC++を実践の中で学びたいのですが なにを作ればいいか、というよりなにをその言語で作れるのか漠然として・・・ JavaやC#のようなオブジェクト指向言語ならイメージ浮かびやすいんですけど コンソールだとコントロール等がないのでどうしても・・・
331 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 00:19:13 ] C++もオブジェクト指向言語なんだが・・・
332 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 09:37:07 ] つーか、好きにライブラリを選べばいいのがC/C++流。
333 名前:330 mailto:sage [2009/04/12(日) 10:24:27 ] そういやC++もオブジェクト指向言語でしたw まだイメージができないあたり、ライブラリの知識が不足しているようですね。
334 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 10:29:32 ] ライブラリの前にオブジェクト指向と言語仕様の知識も不足してる
335 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 11:54:22 ] それを言ったら情報工学の基礎から何から全部だろう ポトペタでさくさく作っている間は必要のない知識だ
336 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 12:45:19 ] なんだポトペタって。
337 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 19:33:18 ] 一覧からマウスで選択したコントロールをフォームに ポトっと落とすとペタっと張り付く機能やそれを備えたIDEのこと
338 名前:デフォルトの名無しさん mailto:sage [2009/04/13(月) 00:50:39 ] Stringクラス的なものを参考すればいいんじゃね? まさにコントロールじゃない目に見えないクラスオブジェクト。
339 名前:トミー ◆xb8eIST5.k [2009/04/25(土) 20:19:22 ] >>182 ぼくもそれをダウンロードして使ってみました。 うまくいきそうです。 どうもありがとうございました!
340 名前:トミー ◆xb8eIST5.k [2009/04/25(土) 20:21:25 ] >>339 はこのスレの>>155 です。
341 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 22:02:48 ] ここはvc++は駄目かえ?
342 名前:デフォルトの名無しさん [2009/06/07(日) 16:31:54 ] 正の数であれば、小数点以下を四捨五入する場合、0.5を足して、intで切り捨てればいいのですが、 負の数も含めて、四捨五入をする場合、どのようなコードを書けばよいのでしょうか?
343 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 19:14:53 ] GUIアプリを作るのにC++を勉強しようと思っているのですが VC++EEとBCCどっちが作り易いですか? また言語自体はどちらも同じですか?
344 名前:デフォルトの名無しさん [2009/06/07(日) 19:20:10 ] GUIはスクリプトで出来る
345 名前:デフォルトの名無しさん [2009/06/07(日) 19:21:35 ] VC++EEとBCCで選ぶと結局は、VC++EEが簡単だろう。 ATL/WTLなどもあり対応しているライブラリも多い。
346 名前:デフォルトの名無しさん [2009/06/07(日) 19:22:57 ] rubyでGUI作れなければ、C++ではもっと無理。まずこれでやってみれば
347 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 22:30:11 ] >>342 x=(int)(x+.5-(x<0)); でよいか?
348 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 22:35:28 ] >>344-346 VC++使うことにします。 ありがとうございました。 >>346 C++は以前触ったことがあります。昔すぎて何も覚えてませんが…
349 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 22:41:43 ] >>342 abs関数はどうですか
350 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 10:46:27 ] >>342 >>347 なんで cast なんか四捨五入で使うの?round とか使わない? cast なんてそんなに無闇に振り回すものじゃないと思うけど。
351 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 11:31:01 ] >>350 round()なんて関数ないぞ
352 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 12:44:07 ] >>351 すまん。ちょっと説明不足だったかも。厳密にいえば round/lround/rint/lrint 等々は C99 の規格みたい(といっても今や 2009 だが)。 プラットフォームによってはいまだに使えないのかも。
353 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 18:55:43 ] castはそんなに振り回すもんじゃ無いのは同意だが このケースは真っ当な使い方だし問題ない が、>>350 みたいにそういう判断ができないなら使うべきではないな
354 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 22:18:13 ] 俺は cast 使わないでもサクッとできるなら使わない方を選ぶな。
355 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 22:28:06 ] 昔からあるやり方だから、一種の慣用句。 BASICでも同じようなことしてたと思うし。
356 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 23:45:37 ] >>353 「これは真っ当」というけど、intでoverflowの心配はしなくていいの? 別に一般にcastが良いか悪いかは別としてこの場合の素朴な疑問。
357 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 00:33:41 ] それも含めて分かって使ってるかということだろう。
358 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 00:35:52 ] >>357 それなら今回のケースは情報不足で > このケースは真っ当な使い方だし問題ない と言い切る根拠は無いように思うが。
359 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 02:53:47 ] 言い切る根拠ねぇ。。 根掘り葉掘り前提を聞かないと、うかつにコメントしちゃいけないのもどうかと思うが。
360 名前:デフォルトの名無しさん mailto:sage [2009/06/12(金) 00:09:27 ] プログラミング言語C第2版には「A.6.3.整数と浮動小数点」の項に >浮動型の値を整数型に変換するときには、小数部分は無視される とあるんだけど、実数xの少数分 x-[x] なので、例えば-2.3の整数部分は-3となり、 (床関数:ja.wikipedia.org/wiki/%E5%BA%8A%E9%96%A2%E6%95%B0 ) 結局、int a = -2.3 の結果は -3であるべきかな?かなかな?
361 名前:デフォルトの名無しさん mailto:sage [2009/06/12(金) 00:34:11 ] >>360 いや、それは-2になる。 ここで言う小数部分を無視というやり方は、数学的定義とは関係なく (絶対値が)0に近づく方向へ切り捨てるということ。 ここまで書いてから気付いたが、その記事の下の方にC言語の場合もきちんと書いてあるじゃないか。
362 名前:デフォルトの名無しさん mailto:sage [2009/06/12(金) 00:41:50 ] きちんと >『独自研究』に基づいた記述 と書かれていますね。
363 名前:デフォルトの名無しさん mailto:sage [2009/06/12(金) 00:50:03 ] ANSI C 3.2.1.3 Floating and integral There was strong agreement that floating values should truncate toward zero when converted to an integral type, the specification adopted in the Standard. Although the Base Document permitted negative floating values to truncate away from zero, no Committee member knew of current hardware that functions in such a manner. [Footnote: We have since been informed of one such implementation.] 整数型への変換時に浮動小数点数はゼロに向かって切り捨てるように強く言われた。 規格でも標準で採用した。でも、元にしたドキュメントでは負の浮動小数点数は ゼロから離れる方に切り捨てることを認めていた。当時の委員の誰一人として現行のハードウェアがこのように振る舞うとは知らなかった。 [注釈: 我々委員会はそのような実装を伝えられていた。] 適当に訳したので間違っているかもしれない。 元にしたドキュメントは、負数の時はどっちでも良かったけど、 この規格では、ゼロに向かって切り捨てますよん。ってことだと思われる。
364 名前:デフォルトの名無しさん mailto:sage [2009/06/12(金) 01:01:57 ] おぉ、すばらしい! これで安心して負数を丸められる。
365 名前:デフォルトの名無しさん mailto:sage [2009/06/12(金) 01:02:05 ] >>362 きちんと英語版のノートでは、規格で0方向への丸めだと指摘されている。
366 名前:デフォルトの名無しさん mailto:sage [2009/06/14(日) 01:49:25 ] #include <iostream> #include <string> #include <fstream> using namespace std; int main(){ string str; fstream file; file.open("test.txt",ios::in); file>>str; file.close(); int h=str.length(); cout << h<<endl;; const char *seq1 = new char[h]; seq1=str.data(); delete[] seq1; } これどこか悪いですかね?実行時に強制終了になってしまう。 削っていって原因の箇所を特定したところ、delete[] seq1; の一行が悪いみたいなんですが、正直何が悪いかが理解できんのです。 bcc5.5で作業中です。
367 名前:デフォルトの名無しさん mailto:sage [2009/06/14(日) 02:04:06 ] seq1=str.data(); これじゃよ。data() や c_str() の仕様をみるのじゃ。 記録するな。使ったらすぐ捨てろ。わかったな、今畜生。
368 名前:デフォルトの名無しさん mailto:sage [2009/06/14(日) 02:05:26 ] >>366 やっぱり釣りなのね? 釣りに決まってる。 釣りではないなんていわせない。 釣りでなくちゃおかしい。 釣りだよね? 釣 り だ よ ね?
369 名前:デフォルトの名無しさん mailto:sage [2009/06/14(日) 02:11:52 ] とりあえずわかったことは私はウンコマンということでしょうか。 つまりはチンカス以下。チンチンの先っちょについたティッシュのカスを師と崇めて行けというほどの。 ちょっと出直してくる。ありがとうござました。
370 名前:デフォルトの名無しさん mailto:sage [2009/06/14(日) 02:16:22 ] >>366 #include <algorithm> seq1 = str.data(); → std::copy(str.begin(), str.end(), seq1); 別にmemcpyでもいいんだけど。
371 名前:デフォルトの名無しさん mailto:sage [2009/06/14(日) 02:21:00 ] >>366 > const char *seq1 = new char[h]; 配列 new なんか使うからだ。 std::vector<char> seq1(str.begin(), str.end()); にしとけば int h も delete seq1 も要らない。
372 名前:デフォルトの名無しさん mailto:sage [2009/06/14(日) 02:22:41 ] >>371 そもそもstringのまま扱うのでいい気がしてくる。
373 名前:デフォルトの名無しさん [2009/06/14(日) 18:57:00 ] int main(){ string seq1; とすればいい。コピーする手間もない
374 名前:デフォルトの名無しさん mailto:sage [2009/06/14(日) 19:40:25 ] すいません、質問宜しいでしょうか? vc++なのですが、ダブルクリックするとAP画面を開きだすタイプのexe(コマンドプロンプトが開くタイプではないexe)の ソースコード内にて『cout文』が記述されています。 コマンドプロンプト以外のどこかに内容が出力されていたりするんでしょうか? 分かりにくいと思いますが、よろしくお願いいたします。
375 名前:デフォルトの名無しさん mailto:sage [2009/06/15(月) 09:27:30 ] >>374 恐らく、電子の藻屑と消えています。
376 名前:374 mailto:sage [2009/06/15(月) 22:14:59 ] >>375 ありがとうございました。
377 名前:デフォルトの名無しさん mailto:sage [2009/06/16(火) 09:22:17 ] どうしても回収したいなら標準出力をリダイレクトすればファイルに落とせるんじゃないかな。 詳しくは環境依存C/C++スレかWinAPIスレ辺りで。
378 名前:デフォルトの名無しさん [2009/06/30(火) 00:19:00 ] Linuxアップデートしたらatoi( )無くなって驚いた。 奴は引退したんだな。
379 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 00:43:00 ] そなの? うちのLinuxはアップデートしてもいなくなってなかったよ
380 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 01:06:00 ] itoa()は引退するかもしれないがatoi()は標準関数でしょ
381 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 09:55:51 ] はい、atoi()はdeprecated3人組の筆頭ですからおいそれとはなくなりませんよ。
382 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 19:01:01 ] itoaを標準化しろよ あるいは%bを
383 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 21:09:00 ] itoa()はやっぱし簡単にsprintf()で代用できるから標準じゃないのかなあ それにしてはatoi()にはstrtol()という基数変換関数が用意されているし いまいち対称性に欠けるよなあ
384 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 09:11:55 ] Cの標準ライブラリに関しては、対称性なんて考え出したら禿げるよw
385 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 10:38:00 ] ネーミングにセンスがないのは仕方ないよなあ 昔のCは昔のFORTRANと同じく識別子は先頭の6文字しか 認識しなかったからなあ だから無秩序な切り詰めで読みにくいったらありゃしない create()かcreat()になっているし この当たりはK&Rのジョークにも出てくるが
386 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 11:17:53 ] このスレまじ勉強になりすぎワロタ
387 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 18:37:21 ] >>385 creatについては字数制限だという風に広まった方が彼も喜ぶか
388 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 19:48:48 ] winbase.hについて教えてください。 win32コンソールアプリでプロジェクトを作ると古いwinbase.hが インクルード対象になってGetProcessHandleCountなどが 定義されていません。 プラットフォームSDKのwinbase.hだと定義されてます。 これはwin32コンソールアプリでは新しいAPIをサポートしていないと 言うことでしょうか。 無理やり古いwinbase.hに突っ込んだら動くには動いたのですが 別の方法で新しいAPI関数を、コンソールアプリで使う方法は ないでしょうか?
389 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 22:47:35 ] パスの順番を変える
390 名前:388 mailto:sage [2009/07/02(木) 14:34:04 ] お返事ありがとうございます。 読み込むインクルードファイルのパスを 変えるということでしょうか。 調べてみます。
391 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 20:46:04 ] 環境変数ならその順番、ツールなら書いた順番 VC++なら設定のとこで上下に動かして優先順位変えられるべ
392 名前:388 mailto:sage [2009/07/03(金) 01:03:15 ] バージョンは2005なのですがなかなか 設定できるところが見つかりません。 もうちょっと調べてみます。
393 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 02:09:35 ] インクルードパスの設定はうまくいっていて、 WINVERとかを設定していないだけということはないよな?
394 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 10:49:13 ] コピーしたら動いたらしいから大丈夫では? VCの基本だが、、、ツール - オプション - プロジェクトおよびソリューション - VC++ディレクトリ プラットフォーム[Win32] ディレクトリを表示するプロジェクト[インクルードファイル] で該当のインクルードパスを追加、もしあるなら上に移動
395 名前:392 mailto:sage [2009/07/03(金) 18:24:08 ] 色々とすみません。 みてみたのですがオプションのプロジェクトとソリューションの下に VC++の階層がありませんでした。 なぜ出ていないのか調べてみます。
396 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 21:28:58 ] 左の三角クリックしても出てこない?
397 名前:395 mailto:sage [2009/07/04(土) 01:24:57 ] ありがとうございます。 見当たらないです。 VBの環境設定と、もう一つなんかしかないんです。 何が悪いのやら・・・
398 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 01:38:24 ] VisualBasicの規定値と全般かビルド/実行あたりか。 変だなあ、、、設定のインポートとエクスポートからリセットしてみては・・・
399 名前:397 mailto:sage [2009/07/04(土) 11:12:02 ] ありがとうございます。 設定のインポートとエクスポートはありました。 それで初期化して見ます。 非常に助かります。 結果、ご報告させていただきます。
400 名前:399 mailto:sage [2009/07/06(月) 10:06:25 ] おはようございます。 設定のインポートとエクスポートで 環境の初期化ができました! 早速ディレクトリを色々いじってみます。
401 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 10:49:35 ] ホビープログラマさんかしら いじる前に初期化した状態でビルドしてみたらどう?
402 名前:400 mailto:sage [2009/07/06(月) 15:21:49 ] 御助言ありがとうございます。お察しのとおり自分は素人です。 設定初期化後にビルドしても識別子が見つかりませんになりました。 インクルードファイルの上位をSDKにしてもだめでした。 また、コンソールアプリのwinbaseには_WIN32_WINNTの 定数が0500までしかなかったので0501以降のAPIは事実上 未対応なのがコンソールアプリの習いなのでしょうか。 インクルードの優先設定に間違いがないか調べてみます。
403 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 16:29:59 ] $(VCInstallDir)include $(VCInstallDir)atlmfc\include $(VCInstallDir)PlatformSDK\include $(FrameworkSDKDir)include 特に変更してない、うちの環境はこんな順になってる。
404 名前:402 mailto:sage [2009/07/06(月) 18:02:09 ] わざわざありがとうございます。 自分の環境も同様に無印が一番上でした。 となるとインストールパッケージのせいなんでしょうか。 自分のはプロフェッショナルのSP3でした。
405 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 01:33:09 ] そんで、どこにあるwinbase.hが気に入らないの? それと、ホビープログラマさんがなんでわざわざプロフェッショナル版を買っちゃった(んだよね?)の?
406 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 01:55:39 ] プロフェッショナルになりたいからじゃないかな。 自分もお金合ったらプロフェッショナル版ほしかったなぁ。 あの赤いパッケージが3倍開発速度が速くなりそうな感じがしていい。
407 名前:404 mailto:sage [2009/07/07(火) 10:14:45 ] おはようございます。 visual studio 8フォルダのvcフォルダ直下のincludeフォルダ内のwinbaseです。 ファイルの日付も古いのでコンソールでは新しいAPIは対応してないのかと 思いました。 プロフェッショナルバージョンを購入したのは おっしゃる通り目標でして。。 今は事務なのですがいつかは開発に行くのが目標なんです。
408 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 14:35:05 ] C:\Program Files\Microsoft Visual Studio 8\VC\include うちはここにはwinbase.hないなあ。 ちゃんと情報出しとけば7/2ぐらいにはいろいろ解決できてただろうね。
409 名前:407 mailto:sage [2009/07/07(火) 22:30:29 ] 定数「_WIN32_WINNT」の値を0x501で定義し、VCの設定を初期化し $(VCInstallDir)includeを最上にした状態で、リビルドしたら 上手くいきました! includeの参照がPlatformSDKに変わってました。 先達の皆様、色々とありがとうございました。
410 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 23:29:34 ] #include <stdio.h> #define N 10 int main(void){ int i, j = 1, x, y; int d[N][N]={}; /* 三角形を作成 */ for (i = 1 ; i < N ; i++, j = 1){ d[i][0] = 1; while (j <= i - 1){ d[i][j] = d[i-1][j-1] + d[i-1][j]; j ++; } } /* 三角形の表示 */ for (y = 0; y < N; y++) { for (x = 0; x < N-y-1; x++) printf(" "); for (x = 0; x < y; x++) printf("%5d ", d[y][x]); printf("\n"); } return 0; } pc12.2ch.net/test/read.cgi/tech/1245853701/835 pc12.2ch.net/test/read.cgi/tech/1246342847/440 これでどうかな?
411 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 09:10:31 ] なんかひどいものを見た。
412 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 23:10:33 ] ・環境変数の設定がおかしくてヘッダファイルが見つからない ・ヘッダファイル名をタイプミスした のどっちかじゃないかなあ? pc12.2ch.net/test/read.cgi/tech/1244942050/957 pc12.2ch.net/test/read.cgi/tech/1245059383/785
413 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 17:15:35 ] 新規作成→プロジェクト→Win32→Win32プロジェクト で作成したVC++のアプリが Net3.5を入れないと「構成が正しくない…」のエラーで 起動出来なかったのですが ネイティブなWin32アプリのはずなのに 別途ランタイムが必要だったのはなぜでしょうか? 構成やコードを何度も見直しましたが Win32 APIしか使用してません
414 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 18:45:59 ] Microsoft製品にはよくある現象。 Visual Studio 2008なんてC++しか使わない人でも C#をインストールしなければならないという罠を実装。
415 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 20:06:29 ] いままでそんな事態に遭遇したことないわ
416 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 23:59:19 ] .NET3.5を入れるときにたまたまCランタイムのDLLもインストールされただけだろう。 /MTでやっとくと解決するかもね
417 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 13:28:48 ] リリースビルドにした?
418 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 20:02:59 ] >>416 /MTでやったらエラーは出ず Net3.5を入れなくても動作しました >>417 もちろんリリースビルドのexeです VS2008で作ったのをXP SP2で確認したのだけど 特別なAPIを使った訳でもないし ネイティブなWin32アプリが動かなかった原因は未だ分からず
419 名前:417 mailto:sage [2009/08/18(火) 00:27:15 ] >>418 状況から察するに別マシンで動かしてるんだよね もちろんリリースビルド、というのだから、もちろんランタイムDLLも別マシンにインストールしている?
420 名前:デフォルトの名無しさん [2009/08/18(火) 04:20:34 ] WIN APIのみのネイティブなアプリなら クライアント側は他にランタイムは不要じゃないの? 自分は開発したことないから詳しくは知らないけど
421 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 09:58:07 ] ここでいうランタイムはC標準関数のランタイム /MTはスタティックリンク /MDはダイナミックリンク(DLL)