■過去ログ置き場に戻る■ 1- 前250 次250 最新50


[memo] "9999999999_00.html#R20" という感じで、URLの最後に "#RレスNo" を追加すると幸せになれます。

★初心者にVisual C++を教えるスレ★ Part19
501 名前:デフォルトの名無しさん :2005/06/11(土) 13:49:19
>>497-498
ありがとうございます。
取り合えずダウンロードします。

502 名前:デフォルトの名無しさん :2005/06/11(土) 16:18:14
ベンチマークならコンパイラ持ってれば馬鹿でもできる。

503 名前:デフォルトの名無しさん :2005/06/11(土) 20:24:10
レスありがとうございました

当方少々事情があり、思いっきり初心者&貧乏人の癖に、
早く自分でプログラムを作って使わなければと、何といいますか少々せっぱつまったような状況でして・・
実行後のプログラムの速度や軽さが少しでも欲しかったもので;;
細かいこと聞いてすいませんでした><

もう一つ質問です
6.0のstandardで作ったプログラムは、vc++が入っていないPCでは動作できないかも
と、あるHPに書いてあったのですが、本当でしょうか?
VC++を入れてプログラムを作る用のPC と 作ったプログラムを使いたいPCが別なもので
悩んでおります。もし本当でしたら、2003のstandardでもそうなのでしょうか?
professional なら他のPCでも大丈夫ということでよいのでしょうか?

宜しくお願いしますm(_ _)m

504 名前:デフォルトの名無しさん :2005/06/11(土) 20:44:45
>>503
100%デマ。
そのサイト教えれ。


505 名前:デフォルトの名無しさん :2005/06/11(土) 22:49:13
>しかしVB6は今後バージョンアップは無さそうだし、サポートもそろそろ打ち切られるとか言われてるので
>今からVB6を始めるのもどうかと思うのですが、

非常に後味わるいから他スレで見つけたまともな意見で口直し

506 名前:デフォルトの名無しさん :2005/06/11(土) 23:40:10
>>503
6.0のstandardはMFCをスタティックリンクできないから
動作させる環境にDLLが入ってないと動かない。
2003のstandardはシラネ

507 名前:デフォルトの名無しさん :2005/06/11(土) 23:42:52
普通入ってる

508 名前:デフォルトの名無しさん :2005/06/11(土) 23:48:47
ノーマル95にも入ってるの?

509 名前:デフォルトの名無しさん :2005/06/12(日) 01:03:12
はじめまして。
最近WinXP、VC++6.0で勉強を始めました。
GUIの勉強をするためにWIN32アプリケーション→C++ソースから
挿入→リソースでDIALOGを作ろうとした時に出てくる
OKボタンやキャンセルボタンをドラック&ドロップできる
部品の一覧表を間違って閉じるボタンで消してしまいました。
プロパティなどを見たり、PCごと再起動してみたのですが
一覧表は消えたままで、ダイアログ中に新しい部品を貼れなくなってしまいました。
どのようにしたら、部品の一覧表を再び出すことが出来るのでしょうか?


510 名前:デフォルトの名無しさん :2005/06/12(日) 01:08:03
>>509
ツールバー上で右クリックして[コントロール]。
つか、いきなりGUIから入るなよ。

511 名前:デフォルトの名無しさん :2005/06/12(日) 01:23:26
>>510
ありがとうございます。
文字表が出てきて、なんとか部品を挿入できるようになりました。
他に絵の一覧で表示されていて
ドラック&ドロップで部品を挿入することが出来る
ウィンドウの出し方はご存じないでしょうか?

512 名前:デフォルトの名無しさん :2005/06/12(日) 05:30:58
ツールバーだろ

513 名前:デフォルトの名無しさん :2005/06/12(日) 17:23:22
自演だろw

514 名前:デフォルトの名無しさん :2005/06/12(日) 23:34:23
VISUALC++をやるのにC言語の知識って必要あるんですか?

515 名前:デフォルトの名無しさん :2005/06/12(日) 23:35:53
>>514
当然

516 名前:デフォルトの名無しさん :2005/06/12(日) 23:45:14
>>515
C言語の量が膨大すぎてVisualC++をやるにはどこを一番やったらいいのかわかりません…

517 名前:デフォルトの名無しさん :2005/06/13(月) 00:02:54
ここでうだうだしてるより、本買うなりWeb検索するなりしろよ。
VisualC++で何作るか知らんが、言語の他にWindowsAPIや
MFCの知識も必要になるかもしれないから覚悟しといた方がいいよ。

518 名前:デフォルトの名無しさん :2005/06/13(月) 00:04:20
簡単にはいかないということですね。
とりあえず関連性のありそうなことを片っ端からやっていきたいと思います。

519 名前:デフォルトの名無しさん :2005/06/13(月) 04:13:26
BOOL,TRUE,FALSEの宣言はどこに書いてあるんでしょうか?または、どのように宣言されているんでしょうか?
windows.hの中を見てみましたが内部でさらに色々includeしていて探すのが面倒で・・・

520 名前:デフォルトの名無しさん :2005/06/13(月) 04:18:54
識別子を右クリック

定義へ移動

521 名前:デフォルトの名無しさん :2005/06/13(月) 05:28:11
>>519
WINDEF.H
型だのの宣言に関しては全部これ
ちなみにその3つともint

522 名前:デフォルトの名無しさん :2005/06/13(月) 07:25:26
〜STR系はWinNT.h

523 名前:デフォルトの名無しさん :2005/06/13(月) 08:25:30
>>519
探すのが面倒だから代わりに探してくれ、か?
自分で探せよ。

524 名前:デフォルトの名無しさん :2005/06/13(月) 10:00:55
>>519
右クリックで定義位置を表示じゃダメ?

525 名前:デフォルトの名無しさん :2005/06/13(月) 10:03:26
>524
>520

526 名前:デフォルトの名無しさん :2005/06/13(月) 10:10:20
質問です。

VC++6.0を使用していてコンパイルした際に警告レベル3だと
警告して欲しい内容が結構警告してもらえず、警告レベル4だと
警告が出過ぎて困ります。

警告レベルを3にして自分で出したい警告を#pragmaで設定しようと
思うのですが、下記のもの以外で何か「これはだしとけ」みたいな
警告はないでしょうか?
(こういうことするときはだしとけみたいなのでもOKです。)

下記が現在警告レベル3で追加している警告です。
#pragma warning( 3 : 4100 ) // 未参照の引数あり時に警告
#pragma warning( 3 : 4127 ) // 条件式が定数の場合に警告
#pragma warning( 3 : 4142 ) // 型の再定義あり時に警告
#pragma warning( 3 : 4189 ) // 未参照(初期化あり)の変数あり時に警告


527 名前:524 :2005/06/13(月) 10:12:33
同じ内容のレスしてたorz

528 名前:デフォルトの名無しさん :2005/06/13(月) 10:20:46
>>526
逆。警告レベル4にして、必要のない警告を外すべき。

529 名前:デフォルトの名無しさん :2005/06/13(月) 10:41:15
クラスビューからソースに関数や変数ドラッグしたら貼れるなんて
なんで教えてくれなかったの?><

530 名前:526 :2005/06/13(月) 11:06:55
>>528
なるほど。そちらの方が欲しい警告があった場合に漏れないですね。

531 名前:デフォルトの名無しさん :2005/06/13(月) 13:15:02
CString ss;
char szA[MAX_DIR];
ssに入っている文字列をszAに入れるにはどうしたらよかですか?

532 名前:デフォルトの名無しさん :2005/06/13(月) 13:33:15
strcpy

533 名前:デフォルトの名無しさん :2005/06/13(月) 13:43:49
ありがとうです

534 名前:デフォルトの名無しさん :2005/06/13(月) 17:28:25
いまからVC++を中古か新品で買おうかとおもってるんですが
バージョンはどれがおすすめですか?
5.0?6.0?.NET?

535 名前:デフォルトの名無しさん :2005/06/13(月) 17:54:12
>>534
何をしたいんだ?情報少なすぎ。
Windows 95でも動くアプリを作りたいとかか?

536 名前:デフォルトの名無しさん :2005/06/13(月) 18:08:06
簡単な関数を作ってつかおうとしているのですが、
error LNK2001: 外部シンボル ""protected: int __thiscall CSatoshiDlg::dangerous(int)" (?dangerous@CSatoshiDlg@@IAEHH@Z)" は未解決です
Debug/satoshi.exe : fatal error LNK1120: 外部参照 1 が未解決です。
link.exe の実行エラー

とでてしまいビルドできません。何が原因なのでしょうか?


537 名前:デフォルトの名無しさん :2005/06/13(月) 18:13:10
マルチポストすんなや

538 名前:デフォルトの名無しさん :2005/06/13(月) 19:59:53
CSatoshiDlg::dangerous(int)が無い

539 名前:デフォルトの名無しさん :2005/06/13(月) 20:17:13
>>536ブロードキャストすなや

540 名前:デフォルトの名無しさん :2005/06/14(火) 02:25:40
>何が原因なのでしょうか?

エラーメッセージの通りですがw

541 名前:デフォルトの名無しさん :2005/06/14(火) 05:36:35
オープンソースのPSエミュをVCのステップインで実行させるべくVC6で
ビルドしたいのですが、どうにも巧く行きません。どなたかご助力を・・・。
http://www.pcsx.net/downloads/PcsxSrc-1.5.tgz

◎やったこと
http://members.at.infoseek.co.jp/shirouto_yokota/pcsx.htmを読みzlibを入手
・C:\Program Files\Microsoft Visual Studio\VC98\Include にzlib.hとzconf.hをストア
・C:\Program Files\Microsoft Visual Studio\VC98\Lib にzlib.libをストア
・ソースのWin32ディレクトリにあるlibintl.hを\VC98\Include、gnu_gettext.libを\VC98\Libに
・ソースのWin32ディレクトリの中にあるワークスペースを開く
・ビルド → 構文エラー出まくり

どうかよろしくお願いします。

542 名前:デフォルトの名無しさん :2005/06/14(火) 06:13:49
どういう構文エラーか

543 名前:デフォルトの名無しさん :2005/06/14(火) 18:18:07
質問です。

uuid.libをリンクすることになったところ、DEBUGモードで以下のリンクエラーが出るようになりました。
uuid.lib(ocidl_i.obj) : fatal error LNK1103: デバッグ情報が壊れています; モジュールを再コンパイルしてください

Googleで調べまわったところ「設定」「リンクタブ」「一般」「Debug情報を生成する」のチェックをはずせば回避できることを発見しました。
ですがこのままですとブレークポイントを使ったデバッグが一切できなくなってしまいます。
これを回避する方法はありませんでしょうか?

環境は Visual C++ 6.0 です。
.NETならば問題がないというような情報も見かけたのですが、何分気軽に買える身分ではないものでして…。

544 名前:デフォルトの名無しさん :2005/06/14(火) 21:58:28
ダイアログモジュールのプログラムを作ろうとしてます

新規作成でMFCAppWizard→ダイアログでワークスペースを作って、
最初のボタン2つを消してエディットボックスを2つ作りました

ここで、それぞれのエディットボックスに文字を入れて
エンターを押すとそれぞれの処理が始まるようにしたいのですが、
実際にエンターを押すとアプリケーションが終了します

ClassWizardのエディットボックスの項目を見ても
エンターを押したときに呼ばれる項目がないのですが、
エンターを押すとどれが呼び出されるんでしょうか?

デフォルトのボタンが呼ばれるらしいのですが、すでに消してますし…
ボタンが呼ばれるとしたら、どちらのエディットボックスから
エンターが押されたのかわからないです…

545 名前:デフォルトの名無しさん :2005/06/14(火) 22:03:43
そこでspy++ですよ

546 名前:デフォルトの名無しさん :2005/06/14(火) 22:07:44
>>544
OnOKをオーバーライドして
Cxxx::OnOK()をコメントアウト


547 名前:デフォルトの名無しさん :2005/06/14(火) 23:17:44
mdbファイルにDAO3.6を非MFCで
接続する方法を教えてください。

548 名前:デフォルトの名無しさん :2005/06/14(火) 23:39:14
CComBSTR A,B;
で、AとBに含まれる文字列の中身を比較したいんですが、
wcscmp(A,B)で良いのでしょうか?


549 名前:デフォルトの名無しさん :2005/06/14(火) 23:42:59
>>548
それでもいいけどCComBSTRにはoperator ==()があるよ。

550 名前:548 :2005/06/15(水) 00:44:43
ありがとうございます。しかし、CComBSTRの==は、どうもオブジェクト同士の
比較をしているように見えたので、文字列実体の比較はどうするのかと
考えていました。



551 名前:デフォルトの名無しさん :2005/06/15(水) 14:18:41
include <vector>したら、
\vc98\include\utility(81) : error C2146: 構文エラー : ';' が、識別子 'iterator_category' の前に必要です。
というエラーになります。
他のプロジェクトでは普通にincludeできるのですが、一体どうやって回避したらいいんでしょうか?

552 名前:デフォルトの名無しさん :2005/06/15(水) 14:27:22
>>551
プリコンパイルヘッダを使っているなら、一度リビルド。

それでもだめなら、該当行周辺で使われているキーワードが
includeディレクティブ以前にマクロ定義orグローバル宣言されていないか確認せよ。
#まぁ、インクルードの順番変えればすみそうだが。

553 名前:デフォルトの名無しさん :2005/06/15(水) 14:58:46
>>552
リビルドだめでした。
マクロもほとんど定義してないため確認しました。重複してないです。
インクルードの順番はvectorを一番最後にしてます。
いろいろ入れ替えましたが駄目でした。
fill_nが使いたかったんですがあきらめます。

554 名前:デフォルトの名無しさん :2005/06/15(水) 16:25:12
>>553
んじゃ、vectorのインクルードを極力初めのほうにして、エラーがおきた実体化のあたりのソースを晒せ。

555 名前:デフォルトの名無しさん :2005/06/15(水) 16:31:04
質問です。

WinXPでVC++.NETでC++の勉強を始めた者です。
初っ端から詰まっていて、何が原因か分かりません。

#include <iostream>
int main(){
cout << "Hello World" << endl;
return 0;
}

でビルドすると、coutとendlを参照できませんって言われます。
どうかよろしくお願いします。

556 名前:デフォルトの名無しさん :2005/06/15(水) 16:36:51
>>555
std::cout, std::endl

557 名前:デフォルトの名無しさん :2005/06/15(水) 17:08:28
>>554
\vc98\include\utility(81行目)

typedef _It::iterator_category iterator_category;

ここで先出のエラーが起きてます。

iterator_category が定義されてないからでしょうか。
68行目で
typedef _C iterator_category;
と定義されてるんですけど。

558 名前:デフォルトの名無しさん :2005/06/15(水) 17:24:11
>>557
エラー行じゃなくて、実体化している辺りと書いたのだが。
つまり、あんたのプログラムの方ね。

559 名前:デフォルトの名無しさん :2005/06/15(水) 19:00:42
CPU 200Mヘルツ程のPCに.Net入れたけど、重たくて使えません。
遅いPC使ってて、VC6スムース(快適)に使えるって方いらしたら教えて欲しいです。
Visual C++ 6.0 の推奨環境に関するページが見つからない...。
ちなみに、私は.Netから使い始めた者です。

560 名前:デフォルトの名無しさん :2005/06/15(水) 19:05:41
>>559
無茶。IDEは半ば諦めてコンパイルだけするなら兎も角、インテリセンスがまったく使い物にならないと思われ。

561 名前:デフォルトの名無しさん :2005/06/15(水) 19:40:59
>>555

namespace std;

を3行目に入れてみ?

562 名前:デフォルトの名無しさん :2005/06/15(水) 19:41:32
え?usingはどこ?

563 名前:デフォルトの名無しさん :2005/06/15(水) 19:47:52
つーか、3行目かよ。

564 名前:デフォルトの名無しさん :2005/06/15(水) 19:54:54
1: #include <iostream>
2:
3: using namespace std;
4: 
5: int main(){
6:   cout << "Hello World" << endl;
7:   return 0;
8: }

565 名前:デフォルトの名無しさん :2005/06/15(水) 19:57:22
>564必死だな。

566 名前:デフォルトの名無しさん :2005/06/15(水) 19:59:29
そうか?

567 名前:デフォルトの名無しさん :2005/06/15(水) 20:00:17
>>565
必死だよ。何かお気に召さないことでも?

568 名前:デフォルトの名無しさん :2005/06/15(水) 20:00:57
いやぁ、微笑ましいなぁと。

569 名前:555 :2005/06/15(水) 20:43:42
色々とありがとうございます。

Cを3年間やってて、C++に移行している真っ最中です。
今アクセス制御の辺りを勉強していたのですが、
このあたりでそろそろ組んでみるか…と思ったら見当違いの所でエラー。。
かなり焦ったのですがありがとうございました。

VC++.NET特有の仕様なんでしょうか?>std

570 名前:デフォルトの名無しさん :2005/06/15(水) 20:48:31
>555
参考文献が古いだけ。

571 名前:デフォルトの名無しさん :2005/06/15(水) 21:17:30
>>569
stdはISO/ANSIの標準C++の仕様。
他人同士での名前の重複を避けるための名前空間という仕組みがあって、
C++標準ライブラリはstdという名前空間に収めることになっている。
Cの<****.h>というヘッダもC++では代わりにstd名前空間に収められたものが<c****>というヘッダで提供されている。

572 名前:569 :2005/06/15(水) 21:58:06
>>570>>571
そうなんですか。納得です。
一応、6年前に出版された本を使っているんですが。。

とりあえずは、using namespace std;のコマンドを使っていればOKということですよね。
だいたいC++が分かったら、VC++.NETで色々とプログラムを組む予定なのですが、
その時に新しいVC++.NET用の参考書を買えば何とかなりますでしょうか?

573 名前:デフォルトの名無しさん :2005/06/15(水) 22:55:01
>>560
インテリセンスは全く問題なかったり...。
その他諸々コンパイルとか、レスポンス遅すぎます。
VC6.0ならCPU200MHzでも軽く使えるんでしょうか。

574 名前:デフォルトの名無しさん :2005/06/15(水) 22:56:20
>>559
CPU200MHzで.Netは無理だろ。
VC6なら動く(K6-233&128MB程度のマシンで普通に使ってた)

サイトは分からないので手元のVC6発売時のパンフレットより抜粋
・本体 PentiumCPUを搭載したPC(Pen90MHz以上推奨)
・メモリ 使用可能メモリ32MB以上(64MB以上推奨)
・その他 解像度800*600以上必須(1024*768推奨)

↑のようになってるがPen90-32MBではさすがにキツイ

575 名前:デフォルトの名無しさん :2005/06/16(木) 01:04:37
Visual Studio.NETでコンパイルして作ったexeを
他のパソコンで動かそうとすると動きません。
.NET frameworkをインストールすると動くようになったのですが、
そのままで動かないと都合が悪いのです。
どこか設定すれば動くようになるのでしょうか?
よろしくお願いします。

576 名前:デフォルトの名無しさん :2005/06/16(木) 01:42:37
>>555
>556もよろしく。

577 名前:555=569 :2005/06/16(木) 02:02:57
あっと、すいません。
あまりにも近すぎて忘れてました(汗)>>556
名前空間の指定も色々あるんですね。名前空間でぐぐってみます。

578 名前:デフォルトの名無しさん :2005/06/16(木) 07:47:29
>>575
MFCも.NET Frameworkも使わずに作成すればよい。

579 名前:デフォルトの名無しさん :2005/06/16(木) 16:16:43
まぁ、VC6はWin98時代の物だから要求するマシンパワーも低い罠

580 名前:575 :2005/06/16(木) 22:38:01
>>578
ビルドの設定のあたりをいじればいいのでしょうか?
とりあえず、main.cが1つあるだけでそれがexeになればいいのですが・・・。


581 名前:デフォルトの名無しさん :2005/06/16(木) 22:43:46
>>580
プロジェクトのプロパティのマネージ拡張をいいえにする。
新しくプロジェクトを作るときにはWin32 コンソール プロジェクト/Win32 プロジェクトを選ぶ。

582 名前:デフォルトの名無しさん :2005/06/16(木) 23:22:39
>>580
あとプロジェクトのプロパティ「C/C++」の「コード生成」にある「ランタイムライブラリ」
を「シングルスレッド /ML」にする。これで必要最小限のものがスタティックリンクとなる。

583 名前:デフォルトの名無しさん :2005/06/17(金) 03:43:29
一つのソリューションにA、Bの二つのプロジェクトを入れて作っているのですがAのソースからBのヘッダをインクルードできません
依存関係を設定してみたのですが駄目みたいです
どのような設定をすればいいのかどなたか教えていただけませんでしょうか

584 名前:デフォルトの名無しさん :2005/06/17(金) 06:02:33
win32アプリを作ってるんですが、156KBよりも小さいプログラムって作れないのですか?
ウィンドウを表示するだけのプログラムでも156KBになってしまうんですが・・・

585 名前:デフォルトの名無しさん :2005/06/17(金) 06:09:21
win32アプリを作ってるんですが、156KBよりも小さいプログラムって作れないのですか?
ウィンドウを表示するだけのプログラムでも156KBになってしまうんですが・・・

586 名前:デフォルトの名無しさん :2005/06/17(金) 06:41:36
MFCを使わずメッセージボックスを表示するだけなら1KBでもできますが。

とりあえず、リリースビルドにして、MFCを使っているのなら
ダイナミックリンクにすればサイズは減るのでは。

587 名前:デフォルトの名無しさん :2005/06/17(金) 06:42:44
Debugでビルドしてるとみた。

588 名前:デフォルトの名無しさん :2005/06/17(金) 11:48:07
指定したディレクトリにファイルを書き込みたいのですが、
どうしたらいいでしょうか?

589 名前:デフォルトの名無しさん :2005/06/17(金) 12:22:26
>>588
CString path;
path.Format("%s/%s", 指定したディレクトリ, ファイル名);
fp = fopen(path, "w");fprintf(fp, 書きたい内容); fclose(fp):

590 名前:デフォルトの名無しさん :2005/06/17(金) 13:06:41
>599
ありがとう

591 名前:デフォルトの名無しさん :2005/06/17(金) 13:15:10
おっと、未来へのパスか。>599は責任重大だな。

592 名前:デフォルトの名無しさん :2005/06/17(金) 15:25:11
こんにちは

Win32アプリケーションとして作成したプロジェクトで、MFCを使いたい場合は、どのようにすればいいのでしょうか?

教えていただけると助かります。
よろしくお願いいたします。

593 名前:デフォルトの名無しさん :2005/06/17(金) 17:27:17
プロジェクトを作り直して下さい。

594 名前:デフォルトの名無しさん :2005/06/17(金) 18:07:32
Windowsフォームアプリケーションで新しいフォームの
呼び出し方と
ドラッグアンドドロップがわかりません。
だれか教えて><

595 名前:デフォルトの名無しさん :2005/06/17(金) 18:21:19
質問の意味が分かりません。

596 名前:デフォルトの名無しさん :2005/06/17(金) 18:42:47
>>594
とりあえず、半年ほどロムればいいと思うよ。

597 名前:デフォルトの名無しさん :2005/06/17(金) 19:12:45
MFCで書いているのですが、新しいクラスを新しいファイル
てつくるにはどうしたらいいですか?

598 名前:デフォルトの名無しさん :2005/06/17(金) 19:14:41
>>588
CreateFileとかにファイル名を渡す時にディレクトリ名も含めて
指定すれば良い

599 名前:デフォルトの名無しさん :2005/06/17(金) 19:17:23
597ですが、作りたいクラスは
int add(int x,int y)
{
x=x+y;
return x;
}
ができればいいだけです。



600 名前:デフォルトの名無しさん :2005/06/17(金) 19:21:56
それはクラスにする必要がないと思う

601 名前:デフォルトの名無しさん :2005/06/17(金) 19:24:44
>>590
残念、>599は回答者ではなかった。

>>599
挿入メニュー→クラスの新規作成
Genericクラスを選んで適当なクラス名を入れてOKボタンでクラスの側が書かれたソースファイルができる。

602 名前:どうしてもと言うのなら :2005/06/17(金) 19:27:17
.NETの場合はプロジェクト->新しい項目の追加でC++のソースとか
ヘッダファイルを追加し、そこに書く。
6.0の場合はクラスウィザードで新規クラスを作成で、genericを
選んで書く。かな?

603 名前:デフォルトの名無しさん :2005/06/17(金) 19:29:21
ありがとうございます。
やってみます。

604 名前:デフォルトの名無しさん :2005/06/17(金) 19:37:40
>601
Generic クラスというのはgeneric CWndでいいのでしょうか?

605 名前:デフォルトの名無しさん :2005/06/17(金) 19:40:50
>601
>602
ありがとう。わかりました!


606 名前:デフォルトの名無しさん :2005/06/17(金) 20:49:02
class CABCDlg : public CDialog
{
// 構築
public:
 CABCDlg(CWnd* pParent = NULL);// 標準のコンストラクタ

上の意味はABCダイアログの初期化と考えていいんでしょうか?



607 名前:デフォルトの名無しさん :2005/06/17(金) 22:36:32
ビルドとリビルドの違いはなんですか?

608 名前:デフォルトの名無しさん :2005/06/17(金) 22:46:06
リビルドはあれだ、make clean && make みたいなもんだ
コンパイルした結果生成されたオブジェクトファイルをすべて削除して
全てのソースを再コンパイル→リンクする

609 名前:607 :2005/06/17(金) 23:00:39
>608
なるほど。ということはビルドは、必要なところ(変更があったソースかな?)だけコンパイル→リンクするんですね。

610 名前:デフォルトの名無しさん :2005/06/17(金) 23:09:23
>>609
そう。一般的に
オブジェクトファイルのタイムスタンプとソースのタイムスタンプを比べて、
ソースのタイムスタンプの方が新しい場合コンパイルを行う
という動作だと思う

611 名前:デフォルトの名無しさん :2005/06/18(土) 00:21:09
時々リビルドしないとうまく変更を反映してくれないことがある。

612 名前:デフォルトの名無しさん :2005/06/18(土) 00:25:49
http://pcweb.mycom.co.jp/special/2005/compiler/005.html
FullOptってどうやるんですか?
DebugとReleaseしか無いのですが・・・

613 名前:607 :2005/06/18(土) 00:34:40
>610
分かりやすい説明ありがとうございます。

>611
そうなんですか。まだ、Hello World レベルなので、変更が反映されないということはありませんが、ファイルが増えたり、依存関係やらが複雑になってくるとビルドでは問題が出てきそう?ですね。

614 名前:デフォルトの名無しさん :2005/06/18(土) 01:04:12
反映されないのは resource.h を手動でいじくったとき。
番号がとびとびになると気持ち悪い人は手動でいじくる。

615 名前:575 :2005/06/18(土) 01:21:15
>>581,>>582
うまくいきました。ありがとうございます。


616 名前:デフォルトの名無しさん :2005/06/18(土) 03:54:27
カスタム設定にしたものをそう呼んでいるだけだよ。
そのFullOptって、最適化のオプションの組み合わせ方間違っているよw


617 名前:デフォルトの名無しさん :2005/06/18(土) 09:24:07
>>614
resource.hの修正が反映されないのはどのバージョン?
VC6でもVC7.1でもエディタで保存した瞬間に反応しているけど。

それはそうと、ID番号のつけかえだけならIDE内でやればいいのに。

618 名前:デフォルトの名無しさん :2005/06/18(土) 10:27:12
>>617
VC6もVC7.1も。
resource.h に //{{NO_DEPENDENCIES}}
が書かれてるので他のソースから依存されない。
つまり、resource.hに書かれているIDを使ってるソースはすべてコンパイルし直す必要があるのに、
ビルドしただけでは反映されないのでリビルドする必要がある。
resource.hはほとんどのソースからincludeされるものだから、
ビルド時間を短縮するのに NO_DEPENDENCIES は必要な機能なのだろう。

619 名前:デフォルトの名無しさん :2005/06/18(土) 10:48:03
どなたかリソース関連スクリプトに詳しいサイト教えてください。

620 名前:デフォルトの名無しさん :2005/06/18(土) 10:51:02
>>619 まずは、IDEが吐き出したrcファイルを眺めるところから始めたらどうだい?

621 名前:デフォルトの名無しさん :2005/06/18(土) 14:33:45
これからWindowsアプリケーションを勉強しながら作ろうと思うのですが、これからやるならMFCは使った方が良いですか?それともSDK一本槍がよいですか?もし、作るアプリによるというのであれば、分けてお願いします(ゲームなら使う、使わないなど)。
あと、実際の仕事の現場でVCを使って開発するときに、MFCは使われることが多いのでしょうか。

622 名前:デフォルトの名無しさん :2005/06/18(土) 14:53:51
ゲームではあんまりMFCは使わない。余計な機能が多いし

仕事の現場ではMFCは結構使うかな


623 名前:デフォルトの名無しさん :2005/06/18(土) 15:00:07
MFCを使って工数を減らしたいとか他の人と共同開発したいとかある。

MFCを使わないのなら、ちゃんと自作クラスを作ってオブジェクト指向しないと
他人からも未来の自分からも読みにくいプログラムになってしまう。

624 名前:デフォルトの名無しさん :2005/06/18(土) 15:03:16
そこでwindowのラッパクラスを作ろうとして
ウィンドウプロシージャをうまくラップできずに挫折ですよ

625 名前:デフォルトの名無しさん :2005/06/18(土) 15:28:41
WTLの出番ですよ

626 名前:デフォルトの名無しさん :2005/06/18(土) 16:06:19
質問なんですが、Visual C++ .NET 2003シリーズで作ったプログラムを売って儲けたりしていいんですか?
Professional版ならできて当然だと思いますが、
Standard版やアカデミック版だとどうでしょうか。
自分はStandard版のアカデミック版を買おうかと思っているのですが、
同人ゲームを作って勝手に売ったりしていいのでしょうか?

627 名前:デフォルトの名無しさん :2005/06/18(土) 16:59:41
でもWTLやるひとってばMFCも理解できる人たちだろ?

628 名前:デフォルトの名無しさん :2005/06/18(土) 17:05:42
俺WTLを使っているけどMFCは使ったことないし使うつもりもない。

629 名前:デフォルトの名無しさん :2005/06/18(土) 17:19:22
MFCやWTLを使わないと、自前で作らなきゃいけない部分が増えるはずだが、
自前で作る必要があるものには例えばどんなものがあるか説明できる?

630 名前:デフォルトの名無しさん :2005/06/18(土) 17:40:30
ウィンドウクラス

631 名前:デフォルトの名無しさん :2005/06/18(土) 19:02:49
COM使う場合はMFCのサポートが無いとちょっと辛いな。

632 名前:デフォルトの名無しさん :2005/06/18(土) 19:52:16
Platform SDKってリンク切れてるけど手にいれる方法ってありますか?

633 名前:デフォルトの名無しさん :2005/06/18(土) 20:10:05
ある

634 名前:デフォルトの名無しさん :2005/06/18(土) 20:10:23
ある。

635 名前:デフォルトの名無しさん :2005/06/18(土) 20:22:39
探検隊

636 名前:デフォルトの名無しさん :2005/06/18(土) 20:26:23
>>633-664
お願いします

637 名前:デフォルトの名無しさん :2005/06/18(土) 20:42:01
断る

638 名前:デフォルトの名無しさん :2005/06/18(土) 20:43:53
>>623
そらおまえの書いたソースが汚い&コメント書いてないだけだろ
クラス使わんでもちゃんと書けば読めるわ

639 名前:デフォルトの名無しさん :2005/06/18(土) 20:52:46
>>637
お願いします

640 名前:デフォルトの名無しさん :2005/06/18(土) 21:29:50
MFCで作成していて、他のファイルをコピーした場合に、
ときどきコードアシスト出来なくなる(メンバに出て来なくなる)
のだが何か悪いのだろうか?

一応ビルドは正常に通るのだが、メンバに出てこんと気になる。
リソースIDも他のファイルからコピーしたのだが、それが原因?

どっかでコントロールに対して振り分けるIDが決まっているのを
みたことがあるような。



641 名前:デフォルトの名無しさん :2005/06/18(土) 21:48:32
データベースファイルを再生成すればいいんじゃね?

642 名前:デフォルトの名無しさん :2005/06/18(土) 23:45:18
VC6.0から.NET2002にプロジェクト変換したら、
リンクエラーとかが出まくり。LINK2005とか。
VC6.0では出なかったのになんでなんでしょう?
SP1も当てたけどだめ。
これじゃ、6.0のままのほうが良いわ...orz

643 名前:デフォルトの名無しさん :2005/06/18(土) 23:49:05
リンクエラーの意味もわからんのならVC6.0使ってればいいじゃない

644 名前:デフォルトの名無しさん :2005/06/18(土) 23:57:19
>>642
2002年のコンパイラを2005年に使うからだ。
パソコンの日付を2002年に直してからやれよ。

645 名前:デフォルトの名無しさん :2005/06/19(日) 00:06:00
ここって冷たいスレですね。
初心者をイビルスレだったとは...orz

646 名前:デフォルトの名無しさん :2005/06/19(日) 00:07:22
そういえば、浴びる優がテレビに出てたけど、
随分とおとなしかったな。さすがに馬鹿騒ぎは出来ないか。

647 名前:デフォルトの名無しさん :2005/06/19(日) 00:12:18
>>644
ダメでした。ファイルのタイムスタンプとの関係がおかしくなるので、
すべてリビルドもしましたが結果は変わりません。
2002年でも月によって違うとかあるのですか?

648 名前:デフォルトの名無しさん :2005/06/19(日) 00:24:51
不思議なのは、同じMSのコンパイラのバージョンアップぐらいで、
容易に致命的エラーが出てしまうことだな。
MSは知っているんだから、前もってエラーが出ないように対策するべき。

649 名前:デフォルトの名無しさん :2005/06/19(日) 00:30:25
>>642
出たリンクエラーを貼って味噌。

650 名前:デフォルトの名無しさん :2005/06/19(日) 01:15:56
>>649
ちょっと長いので一部だけ掲載します。
レスも分割させてください。とにかく1つが長い警告文で目が眩みそうです。
TestLib.libはプライベートのスタティックライブラリです。
TestMainはTestLib.libをリンクしているメインプログラム(exe)です。

TestLib.lib(TestLib.obj) : error LNK2005: "public:__thiscall std::basic_string<char,structstd::char_traits<char>,
class std::allocator<char>>::~basic_string<char,struct std::char_traits<char>,
classstd::allocator<char> >(void)"(??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ)
は既に msvcprt.lib(MSVCP70.dll) で定義されています。
  :
 この間にいっぱい
  :
libcp.lib(string.obj) : error LNK2005: "public: __thiscallstd::basic_string<char,struct std::char_traits<char>,
classstd::allocator<char> >::basic_string<char,structstd::char_traits<char>,
class std::allocator<char> >(charconst *)"(??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z)
は既に msvcprt.lib(MSVCP70.dll) で定義されています。

ちなみにTestLib.libにSTLを使うとこの警告は出るようです。
簡単なテストプログラムで確認しました。


651 名前:650の続き :2005/06/19(日) 01:17:02
で、これらのエラーに対して、
/NODEFAULTLIB:"libc.lib" /NODEFAULTLIB:"msvcprt.lib
をオプション指定すると、

TestMain.obj : warning LNK4217: ローカルで定義されたシンボル??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z
(public: __thiscall std::basic_string<char,structstd::char_traits<char>,
class std::allocator<char>>::basic_string<char,struct std::char_traits<char>,
classstd::allocator<char> >(class std::basic_string<char,structstd::char_traits<char>,
class std::allocator<char> > const&)) がフィクション "public: __thiscallstd::logic_error::logic_error(classstd::basic_string<char,
struct std::char_traits<char>,classstd::allocator<char> > const &)"
(??0logic_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z)にインポートされました。
  :
 この間にいっぱい
  :
TestMain.obj : warning LNK4217: ローカルで定義されたシンボル??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z
(public: __thiscall std::basic_string<char,structstd::char_traits<char>,class std::allocator<char>>::basic_string<char,
struct std::char_traits<char>,classstd::allocator<char> >(char const *)) がフィクション "protected: void __thiscallstd::vector<int,
class std::allocator<int>>::_Xlen(void)const "(?_Xlen@?$vector@HV?$allocator@H@std@@@std@@IBEXXZ) にインポートされました。

という警告に変わります。この警告達に対しては、
"__declspec 修飾子を削除して、この警告を解決してください。"
とヘルプにはあるのですが、そんな記述はプライベートライブラリには無いので
どうしたら良いか困っています。
一応TestMain.exeは生成され実行もできますが、やはり気分はよくないです。
長文にて申しわけございませんでした。

652 名前:デフォルトの名無しさん :2005/06/19(日) 01:33:58
リンクするライブラリを間違ってる…?

構成プロパティ -> C/C++ -> コード生成 -> ランタイムライブラリ

を変更してみるとか。

653 名前:デフォルトの名無しさん :2005/06/19(日) 01:40:32
TestLib.lib を.NET2002でリビルドしてみる。

654 名前:デフォルトの名無しさん :2005/06/19(日) 01:51:17
プロジェクトを2002で作りなおして、ソースコードを移し替えるのがイイかも

655 名前:650 :2005/06/19(日) 02:35:34
>>652
C:\MSVSN\Vc7\atlmfc\include\afxver_.h(139) : fatal error
C1189: #error : Please use the /MD switch for _AFXDLL
builds
って出ちゃいますです。マルチスレッド以外は受け付けないみたい。。。
>>653-654
それもやってみたのですが結果は同じでした。
ソースコードを移し変えるのも、新規で作ってもエラーは出てしまいます。
むしろ、TestLib.libはVC++6.0でコンパイルしたままのほうではエラーが出ず、
.NET2002でコンパイルするとエラーが出てしまったという???な状況です。
とりあえず今夜はここまでにしたいと思います。
原因がわからなければ、このまま警告が出たままで使うしかないか。
一応動くので。気分が晴れませんよね。。。
これが趣味のプログラムなら放っとくんですけど(^^;

656 名前:デフォルトの名無しさん :2005/06/19(日) 04:00:16
ぉぃぉぃ。
業務プログラムで警告出たままほっておくのかよ。
CMMも糞もへったくれもないな。

657 名前:デフォルトの名無しさん :2005/06/19(日) 04:04:34

だからこうして悩んでるんで無いのか?
品の無いつまらん煽りや荒しはやめろよ。
どうせコンパイルの仕方も解決法もわからん厨房なんだろうけど。

658 名前:デフォルトの名無しさん :2005/06/19(日) 04:05:44
>>656はこの時間になると活発になるニートなので許してやってください。

659 名前:656 :2005/06/19(日) 04:23:44
煽りのつもりはなかったけどそう感じたんならすまん。
ただ業務用のプログラムで

>原因がわからなければ、このまま警告が出たままで使うしかないか。
>一応動くので。気分が晴れませんよね。。。

これはありえないと思っただけ。

660 名前:デフォルトの名無しさん :2005/06/19(日) 04:38:10
ただの愚痴だろうに、関係ないところで突っ込めば単なる叩き。
ましてや解決法もわからないのなら静観するのがマナーだな。

661 名前:デフォルトの名無しさん :2005/06/19(日) 04:40:45
>>659
初心者に対して会社でもそんな風に後輩たちをなじってるの?
ここのスレタイ、よく見てみなって。

>CMMも糞もへったくれもないな。
ここがあなたの深層心理をついていると思うがな。

662 名前:デフォルトの名無しさん :2005/06/19(日) 04:42:21
また、アフォが湧いてきたな。
ここは初心者をとっ捕まえて叩くスレですか?

663 名前:デフォルトの名無しさん :2005/06/19(日) 04:44:55
>>661
品のない煽りやめたほうがいいよ。

業務プログラムで原因不明の警告出っ放しがまずいってのは>>659のいうとおりだし
また、初心者だからこそ(業務についてる人ならなおさら)↑は教えておくべき。
以上すれ違いなのでここでやめておく

664 名前:デフォルトの名無しさん :2005/06/19(日) 04:46:08
>>661-662のほうが品のない煽りをしているところがワロス。

665 名前:デフォルトの名無しさん :2005/06/19(日) 04:49:28
技術も知識も無い香具師ほど、業務だ糞だって言うのはわかったよ。

666 名前:デフォルトの名無しさん :2005/06/19(日) 04:50:14
………………………… き り と り せ ん …………………………

667 名前:デフォルトの名無しさん :2005/06/19(日) 04:53:21
このスレでは人を糞と呼んでもいいことになりました。。。

668 名前:デフォルトの名無しさん :2005/06/19(日) 04:54:53
まだ粘着してるのがいるのか

669 名前:デフォルトの名無しさん :2005/06/19(日) 05:03:50
なんだ?何もめてんだ?
そんな簡単なこと答えてやれよ。
>>668はわかるのか?
オレはだいたい察しがつく。初心者によくある設定ミスだ。
まあ、ちょっと様子見しよう。
偉そうにしてるヤシらの口だけじゃないってところを見せてもらおうかな。

670 名前:デフォルトの名無しさん :2005/06/19(日) 05:06:26
オレもだいたい察しがつく。初心者によくある設定ミスだ。
まあ、ちょっと様子見しよう。
偉そうにしてる>>669の口だけじゃないってところを見せてもらおうかな。

671 名前:669 :2005/06/19(日) 05:07:49
設定ミスというより、気がついてない、って言ったほうが正しいかも。
つまりデフォの設定じゃダメってことだ。
意外と殆どが知らずにwarning出しても見逃してるかもだな。

672 名前:デフォルトの名無しさん :2005/06/19(日) 05:09:20
>>670
あの、、、わからないんでしょ。素直じゃないな。。。
いくら煽ってもあなたには教えないからね。

673 名前:デフォルトの名無しさん :2005/06/19(日) 05:13:56
>>659が謝って終わったところにまた煽るやつらが出るからこうなる。
ほんと人が下手に出ると調子に乗るやつ多いな。
で、その煽りをスルーできないやつも馬鹿。
みんなしんじゃえ。

674 名前:デフォルトの名無しさん :2005/06/19(日) 05:16:36
あのここで聞いてよろしかったかわからないのですが
日本語化パッチなどはどのようなソフトを使って作れるのでしょうか?どなたか教えて下さい

675 名前:デフォルトの名無しさん :2005/06/19(日) 05:19:22
下手に出てる初心者を糞扱いするのはいいんですかね?
それこそ飽くの根源では?

676 名前:デフォルトの名無しさん :2005/06/19(日) 05:20:09
>>674
一般的な開発系のソフトなら作れる。
って言うかすれ違い

677 名前:デフォルトの名無しさん :2005/06/19(日) 05:20:56
>>673
でしたら、貴公が的確なアドバイスをしてあげれば、
この場はまあるく納まるような気もするのですが。

678 名前:デフォルトの名無しさん :2005/06/19(日) 05:22:32
ここはベテランがスカーッと名解答を出してやれ。
そうすれば、カスどもは黙るだろ。

679 名前:デフォルトの名無しさん :2005/06/19(日) 05:23:50
そうそう。何も出来ないくせに初心者相手に叩いて喜んでるようじゃ、
人間いつまで経っても大きくなれんぞい。

680 名前:デフォルトの名無しさん :2005/06/19(日) 05:27:24
もういい加減に粘着するなよ。
>>671が回答して終わってるんだから。

681 名前:デフォルトの名無しさん :2005/06/19(日) 14:15:24
>>640 さん、>>641 さん、

わたし VS2003 使ってるんですけど、
Alt + F8 のマクロエクスプローラ使った後にも
ときどき、コードアシストが効かなくなりますよね。

>>641 さんが対処法として書き込んでいらっしゃる
「データベースファイルを再生成」するには、どうすればいいのでしょうか?
プロジェクトを作ったら自動生成される *.ncb というのが、そうなのですか?

682 名前:デフォルトの名無しさん :2005/06/19(日) 14:16:44
すいません age てしまいました....

683 名前:650 :2005/06/19(日) 16:15:38
すみません。私がつまらない質問をしたばかりに、
ちょっと荒れてしまったようですね。
先週末からずっとはまってて、深夜も遅くなって
ちょっと投げ遣りになってたのは事実かもしれません。
原因不明のエラーというのはお客さんにも説明つきませんし、
解決するべきだと思います。今のところ進展はしていませんが、
何か良いアドバイスがあれば、ご迷惑だとは思いますが
よろしくお願いいたします。

684 名前:デフォルトの名無しさん :2005/06/19(日) 16:49:17
仕事でカネもらってるんなら自分で解決しろよ。お前さんのためだ。

685 名前:デフォルトの名無しさん :2005/06/19(日) 16:53:07
>>684
このスレの存在を否定するヤシは出て行け!!

686 名前:デフォルトの名無しさん :2005/06/19(日) 16:53:50
死人に鞭打つような人間がまだいたのか、このスレには。

687 名前:デフォルトの名無しさん :2005/06/19(日) 16:55:57
>>684のように、人のことをすぐに糞呼ばわりするヘタレに、
人間の心の痛みがわかるわけもない。かわいそうな人だね。同情する。


688 名前:デフォルトの名無しさん :2005/06/19(日) 16:59:25
要は技術的にも未熟で、殆どアドバイスらしいアドバイスもできないから、
弱いものを見つけては叩くことしかやらないって人種だろ。
黙ってりゃ良いものを、いちいち叩くレスをつけるのがその醜い心のあらわれだ。
常に弱いものしか叩けないから、スレタイに「初心者」とついてるレスに
常駐する性質の悪い荒しだね。

689 名前:デフォルトの名無しさん :2005/06/19(日) 17:03:53
>>684
解決できるよう努力もしている。
と同時に、このスレでも質問している。
そういう人が目の前にいたときも、
直接その人の目を見て言えるかね、そんなこと。
例えば会社の後輩や新人があなたを頼って質問してきたとき、
「給料もらってるんだから人に聞くな。自分で解決しろ。」といえるのか?
せめて方向性だけでも導いてやるべきじゃないのか?
まあ、あなたにそれだけの度量と技術と知識があればの話なんだがね。

690 名前:デフォルトの名無しさん :2005/06/19(日) 17:38:09
285>>

691 名前:デフォルトの名無しさん :2005/06/19(日) 17:48:43
まぁここは初心者スレなんで寛大に

692 名前:デフォルトの名無しさん :2005/06/19(日) 18:02:05
> MFC ライブラリを使用する場合は、必ず CRT ライブラリの前にリンクする必要があります。
コレとか

693 名前:デフォルトの名無しさん :2005/06/19(日) 19:02:23
>>686
>>650は死人なの?

694 名前:デフォルトの名無しさん :2005/06/19(日) 19:47:30
Visual Studio .Net 2003を使っているのですが、
たったこれだけのコードをビルドしようとしてもこんなリンクエラーになってしまいます。
error LNK2019: 未解決の外部シンボル "public: void __thiscall std::_String_base::_Xran(void)const " (略) で参照されました。
error LNK2019: 未解決の外部シンボル "public: void __thiscall std::_String_base::_Xlen(void)const " (略) で参照されました。

#include <iostream>
#include <string>

int main()
{
std::locale::global(std::locale("japanese"));
std::wstring ws = L"hello, world";
std::wcout << ws << std::endl;
return 0;
}
なんででしょうか?

695 名前:デフォルトの名無しさん :2005/06/19(日) 20:00:08
みなさんにお聞きしたいのですけど、最近の企業はやはり開発言語に.net
を採用しているのでしょうか?

VC6はもう時代遅れですか?

696 名前:デフォルトの名無しさん :2005/06/19(日) 20:00:29
みなさんにお聞きしたいのですけど、最近の企業はやはり開発言語に.net
を採用しているのでしょうか?

VC6はもう時代遅れですか?


697 名前:デフォルトの名無しさん :2005/06/19(日) 20:01:36
重複すいませんm(_ _)m

698 名前:デフォルトの名無しさん :2005/06/19(日) 20:06:46
みなさんにお聞きしたいのですけど、最近の企業はやはり開発言語に.net
を採用しているのでしょうか?

VC6はもう時代遅れですか?

699 名前:デフォルトの名無しさん :2005/06/19(日) 20:08:52
時代遅れということは無いけど、時代から
取り残されつつあるのは事実。
もうサポートも終了したんじゃないかな。

700 名前:デフォルトの名無しさん :2005/06/19(日) 20:12:48
>>698
仕事内容によるけど、うちではVC6が現役。
プリインストールの.netは削除してからVC6入れてる。

701 名前:デフォルトの名無しさん :2005/06/19(日) 20:51:54
>>698
開発言語は VC++ 7( 非マネージド )だけど環境は .NET 2003。
コンパイル時のチェックは厳密になっているし、開発環境自体も結構進歩
していて、生産性が向上した。個人的に VC++ 6 は時代遅れだと思う。

702 名前:デフォルトの名無しさん :2005/06/19(日) 20:55:16
うちの会社は私が仕切るとVC7.1になるけど、
某芝なんたらからの委託の仕事はVC6指定だったりVC4.2指定だったりする。

703 名前:デフォルトの名無しさん :2005/06/19(日) 22:25:57
>>693
小学校から勉強しなおしてください。


704 名前:デフォルトの名無しさん :2005/06/19(日) 22:29:36
MSのサポートとかOSの対応状況とか考えると、
VC6はそろそろやばいんじゃない?って感じはする。
そのうちVC6のコード自体、コンパイルできなくなる日が来るかもしれんから、
余力のあるうちに乗り換えといたほうがいいかも。

705 名前:デフォルトの名無しさん :2005/06/19(日) 22:50:07
みなさんありがとうございます。やはり時代遅れなのですね。
あとVC7って何のことでしょうか。無知ですいませんーー。

あともう一つ、技術評論社のホームページがなんかおかしいのは私だけですか・・・

706 名前:デフォルトの名無しさん :2005/06/19(日) 22:54:13
>>705
VC7はVisual Studio .Net (2002)のC++コンパイラ。
VC7.1はVisual Studio .Net 2003のC++コンパイラ。

707 名前:デフォルトの名無しさん :2005/06/19(日) 23:01:18
>>705
時代遅れって言うのは違うと思うけどな。
まぁ、あんたがどういうつもりでその質問をしたのかは知らないけど。

708 名前:デフォルトの名無しさん :2005/06/19(日) 23:07:41
ただ、VC6のコードが、いずれは新OSで動かなくなる可能性はあるかも。

709 名前:デフォルトの名無しさん :2005/06/19(日) 23:18:53
ま、Visual C++6.0はCPU向けの最適化が最高でもPentium Proですからね。
VC++6.0とインテルのコンパイラを組み合わせるという手も
ありまんもすがね。

710 名前:デフォルトの名無しさん :2005/06/19(日) 23:20:57
VC6のインターフェイスでコンパイラがVCToolkitなら俺的に最強なんだが

711 名前:デフォルトの名無しさん :2005/06/19(日) 23:24:47
>>708
VC6が生成したコード(バイナリ)がってことね。
やっと理解した。

712 名前:デフォルトの名無しさん :2005/06/19(日) 23:26:06
VC7.1のコード(Winネイティブ)だってLonghornで動かなくなる可能性あるかも

713 名前:デフォルトの名無しさん :2005/06/19(日) 23:35:38
そんなことしたらM$製品がほぼ全滅になるからやらないだろう。

714 名前:デフォルトの名無しさん :2005/06/19(日) 23:41:35
>>710
VC6のIDEもコマンドラインのcl.exeを呼んでるだけだから、
Toolkitのに差し替えたらごっそりいいんじゃないの?

715 名前:デフォルトの名無しさん :2005/06/19(日) 23:49:49
できるけど、pdbのフォーマット違いでデバッグに支障をきたす。

716 名前:デフォルトの名無しさん :2005/06/20(月) 00:01:36
コンパイラだけ置き換えると
標準ライブラリ <iostream> とかのテンプレートでコケル。

ライブラリ入れ替えたとしても、>>715


717 名前:デフォルトの名無しさん :2005/06/20(月) 00:10:47
ソースコード互換がある内に早く乗りかえれ。

718 名前:デフォルトの名無しさん :2005/06/20(月) 00:16:41
ソースコード互換が無くなると悲惨だな。
多少の修正で済むうちはまだましだよ。

719 名前:デフォルトの名無しさん :2005/06/20(月) 00:22:09
いやしかしVC++.net人気無いね。C#やVBの本はたくさん出てるのに、VCは少なすぎ。
技術評論社や秀和システムからましなのが出たと思ったら、どちらも重版未定だし。

720 名前:デフォルトの名無しさん :2005/06/20(月) 00:28:20
根本的なものはほぼ変わってないから入門書みたいのは必要ないしね。


721 名前:デフォルトの名無しさん :2005/06/20(月) 00:33:07
>>719
単に、VC++.NETは売り切れて、
C♯、VB.NETは売れ残っているのでは?

VB.NETはVBAとの互換性がなくなったのが痛い
VC++、+MFCで楽にさくさくのネイティブコードを作れるのに
なにが悲しくてもっさりの.NETコードを作る

VC++2005も単体でうってくれんかの〜
他はいらん


722 名前:デフォルトの名無しさん :2005/06/20(月) 00:38:16
そう言えば、林タンのVisualC++.NET入門シニア編、近刊と書いてから2年
全然出ないじゃん・・・
もう、出す気無いだろ?w

723 名前:デフォルトの名無しさん :2005/06/20(月) 00:42:30
シニアな人にそのようなものは必要ないですから。


724 名前:デフォルトの名無しさん :2005/06/20(月) 00:48:42
中級向けの書籍が欲しいんだよね
ネットで調べりゃどうにでもなるんだけど、
「あれ?あのやり方はどのサイトに載ってたけな」
となる事が多々ある

725 名前:デフォルトの名無しさん :2005/06/20(月) 00:53:03
>>724
お前もしつこいやつだな。
これ以上このスレに関係無い話題は終わり。

726 名前:デフォルトの名無しさん :2005/06/20(月) 02:24:32
C言語入門書を勉強し終わり、WINDOWSプログラムかC++学習に進もうとしている者です
中古でVC++6.0の説明書無しを買ったのですが、プロジェクトとかビルドとかデバッグとか
分からない事だらけで、良いHPも見つからず困っております
どこか分かりやすいページありませんか?

727 名前:デフォルトの名無しさん :2005/06/20(月) 02:52:30
>>726
こんなのがただで配られているというのに何故VC++6.0を・・・。
http://www.microsoft.com/japan/msdn/vstudio/2005/express/

728 名前:デフォルトの名無しさん :2005/06/20(月) 02:53:34
つーか、VC++6に説明書らしいもんあったっけ?

729 名前:726 :2005/06/20(月) 04:19:31
レスありがとうございます
2005にしなかった理由は、よく分からなかったから、と思ったより安く6.0が買えたからです
初心者ですので分からない事だらけの上に、さらに、まだ情報の少なくて
機能の多い2005は勉強の妨げにならないか心配だったのです

もう一つ質問です、例えば↓のプログラム(名前はtestとします)
#include<stdio.h>
int main(int argc,char *argv[]){
printf(argv[1]);}
bcc++の無料コンパイラでは コマンドライン上で test zzz と書けば zzzと表示されます
これを VC++ではどのように実行すればコマンドライン引数を指定できるのでしょうか?

730 名前:デフォルトの名無しさん :2005/06/20(月) 04:36:06
同じ

731 名前:デフォルトの名無しさん :2005/06/20(月) 05:30:52
プロジェクトの設定 -> デバッグ -> プログラムの引数

732 名前:デフォルトの名無しさん :2005/06/20(月) 07:32:02
>>726
説明書って・・・
VC++6.0にはMSDN LiblalyというCD-ROM付いていなかったっけ?

とりあえず入門書でも買ってこいや。
英語でよければ、Microsoftのホームページでも見れるけどな。
http://msdn.microsoft.com/library/en-us/dnanchor/html/vc6anchor.asp

733 名前:デフォルトの名無しさん :2005/06/20(月) 15:47:45
VC++6をXPHomeSP2にインストールしようとしたら、
SETUP.EXE実行後に不正なアクセスでハングして、
インストールウイザードが立ち上がりません。

このページ見るとXPには対応しているっぽいのだが…
http://www.microsoft.com/japan/msdn/vs_previous/vstudio/techinfo/toolos.htm

同じような症状の人いませんか?



734 名前:デフォルトの名無しさん :2005/06/20(月) 16:51:33
ユーザ違いだったり?

735 名前:733 :2005/06/20(月) 18:38:47
>>734
返事ありがとう。もうちょっと詳しくお願いします。

インストールユーザーはadmin権限を持っています。
(Homeなので通常Administratorは利用できないみたい)


736 名前:デフォルトの名無しさん :2005/06/20(月) 20:10:55
VC6が突然重くなったんだがなんなんだろう。コピー&ペーストするときに10秒くらい待たされる。
以前も時々なってた。

737 名前:デフォルトの名無しさん :2005/06/20(月) 20:22:00
>>736
それはな、呪いじゃよ

ついこの間まで

裏VCってのがあっての・・・

つづきは明日

738 名前:デフォルトの名無しさん :2005/06/20(月) 20:58:24
>>736
実はエディタ部の窓を一杯開いてるんじゃないの

739 名前:デフォルトの名無しさん :2005/06/20(月) 21:37:31
いや、全部消したけど駄目だった。なんだろうなこれ。
Window切り替えに10秒くらい待たされてイライラする。
HDDも空いてるし常駐アプリも最低限にしてるのにな。
HDDがやばくなってきたのかな。

740 名前:デフォルトの名無しさん :2005/06/20(月) 21:55:25
24ビットのビットマップファイルを
ダイアログからファイル名を取得して表示させたいのですが、
ファイルを開いてヘッダとビットパターンを読み込んだ後、
CBitmapの初期化(?)がうまくいきません。

CreateBitmapを使うと、Bitcountに24を指定すると戻り値が0になってしまうし…。
CreateCompatibleBitmapを使うと、ビットパターンの指定ができないし…。

普通はどうやるのでしょうか?


741 名前:デフォルトの名無しさん :2005/06/20(月) 22:01:30
LoadImage じゃね?

742 名前:デフォルトの名無しさん :2005/06/21(火) 00:34:26
>>739
タスクマネージャーで調べたら?

743 名前:デフォルトの名無しさん :2005/06/21(火) 01:54:24
VC7.0で作成するexeがマルチスレッドなら、
リンクするライブラリ(自作も含む)も
マルチスレッドで作らないといけないのですか?
シングルスレッドでコンパイルしたライブラリでも、
リンクができて、一見、正常にexeが動いているように見えるのですが、
これって何か問題ありますか?

744 名前:デフォルトの名無しさん :2005/06/21(火) 02:13:25
マルチスレッドで作らないと、という意味がよく分からないが、
少なくともマルチスレッドで使う予定のライブラリはマルチスレッド環境でも
問題なく動くように設計する必要はある。例えば、グローバル変数や
静的変数を使用するものは避けるとか。Cの関数のソースが
VC++には付いているから幾つか簡単な関数の中身を覗いてみて、
マルチスレッドではどうやって動作をさせているか見ると良い。
関数によっては何も配慮しなくても平気なものもあるし、マクロで
動作を切り替えているものもある。それを参考にすれば自作のライブラリでは
どう対応すべきか分かるようになるだろう。

745 名前:デフォルトの名無しさん :2005/06/21(火) 02:26:30
MessageBoxに、たとえばintを表示させたい場合はどうすれば良いんですか?
型の変換の仕方がわかりません。

746 名前:デフォルトの名無しさん :2005/06/21(火) 02:40:23
>>745
CString foo;
foo.Format("%d", 123);
AfxMessageBox(foo);

747 名前:デフォルトの名無しさん :2005/06/21(火) 02:55:46
>>745
char a[20];
itoa(123,a,10);
AfxMessageBox(a);

748 名前:デフォルトの名無しさん :2005/06/21(火) 05:15:27
そういや、たとえばA.DLL をアプリB,Cで使うとして
そのAのインスタンスってB用C用にそれぞれ生成されるんだろうか?

749 名前:デフォルトの名無しさん :2005/06/21(火) 06:23:19
>>745
char b[14];
sprintf("%d", 123);
MessageBox(NULL, a, NULL, MB_OK);

>>748
DLLについて勉強すべし

750 名前:デフォルトの名無しさん :2005/06/21(火) 06:45:06
>>745
typedef std::basic_string<TCHAR> tstring;
MessageBox(0, boost::lexical_cast<tstring>(5), 0, MB_OK);


■過去ログ置き場に戻る■ 1- 前250 次250 最新50
DAT2HTML 0.33f Converted.