★初心者にVisual C++ ..
[2ch|▼Menu]
511:デフォルトの名無しさん
08/09/17 21:41:18
>>499
VC++ 2008にSP1当ればboostなくてもstd::tr1::shared_ptrが使える。

512:デフォルトの名無しさん
08/09/18 18:39:27
数日前までうまく言っていたのに、急にコンソールウィンドウを
最大化しないと見られなくなりました。
原因が分からないのでどなたか教えてください

513:デフォルトの名無しさん
08/09/18 20:22:37
VC6で、ウィンドウ上部のメニューやツールバーアイコンを、
必要に応じて適宜、グレー可(クリック不可なようにする)などの変更をする方法教えてください。

514:デフォルトの名無しさん
08/09/18 21:07:25
Enable: ボタンを選択可能または選択不可能に設定します。

515:デフォルトの名無しさん
08/09/19 09:06:37
CとC++の違いって何ですか?

516:デフォルトの名無しさん
08/09/19 10:07:07
一言では言い表せない

517:デフォルトの名無しさん
08/09/19 14:06:30
VC++とBorland C++Builderってどっちのほうがつかいやすい?
低スペPCの俺には無理?

518:デフォルトの名無しさん
08/09/19 14:35:32
人による

519:デフォルトの名無しさん
08/09/19 15:15:31
VC++のほうが低スペック
コンパイル速度はBCC

520:デフォルトの名無しさん
08/09/19 15:18:52
そんなどうでもいいことで選ぶやつもいるんだ

521:481
08/09/19 17:35:10
>>486
ビットマップの作成で失敗していると思われます。
プログラムの作成に使用したPCではビットマップ画像のファイルの大きさが2,521KB
に対して、プログラムを移行させたPCではファイルの大きさが1,262KBで作成されてしまいます。

>>487
プログラムを移行させたPCが手元にないのでわかりませんが、調べて同じにしてみたいと思います。

>>490
上にも書いたとおり、ファイルの大きさが違うので作成で失敗していると思われます。

よろしくお願いします。

522:デフォルトの名無しさん
08/09/19 17:56:20
>>517
VCスレきたんだからおとなしくVCつかっときな
BCのほうはただでさえ人少ないのに
偏屈なこだわりがある自称玄人ばかりだから
ネットの情報すくないし何を聞くにしても大変
だからといってVCはましなのかというと腐ってるわけだがBCほど腐ってない



523:デフォルトの名無しさん
08/09/20 16:48:08
VC6で、DirectXのAPIを使わずに、スプライトなどの2Dグラフィックス表現を実現する簡単な方法はありますか?
オートシェイプのような簡単な画面レイアウトソフトを作りたいのですが、
標準のコントロールやCViewクラスの描画メソッドでは、重なりや透過などの指定に限界が出てきてしまうようです。
オブジェクトをドラッグで移動したり拡大縮小したりにも対応させたいので、
ゲームプログラムに近い作り方で各オブジェクトをスプライトとして扱いたいのです。

業務用で使うツールとして、DirectXが動くかどうか怪しい環境でも使うことを想定しているので。
DirectXのAPIを使うことは無しの方向で、いろいろ模索しています。


524:デフォルトの名無しさん
08/09/20 16:52:36
bitbitがある


525:デフォルトの名無しさん
08/09/20 16:59:53
このソースで初めて、windowsの標準で描写できるのを知った

おまいらSaGa4つくろうぜ!
URLリンク(www.geocities.jp)

526:デフォルトの名無しさん
08/09/20 17:12:53
VC++でソースをかいてビルドするのですが、
VC++が応答なしになってしまってビルドできません。
これはスペックの問題でしょうか?

ちなみに警告やエラーはありません。

527:デフォルトの名無しさん
08/09/20 17:31:06
正直向いてない

528:デフォルトの名無しさん
08/09/20 20:25:09
bitbltだろww

529:デフォルトの名無しさん
08/09/20 21:32:17
当然とは思ったけど念のため手持ちのゲームを解析してみたら
必ずしもDirectXは使ってないね

530:481
08/09/20 22:24:56
解決しました。

>>487さんがおっしゃってたことを試しました。
プログラムに使用したPCのモニターのカラーのビット数を最高(32ビット)から16ビットにして
ビットマップを作成すると、1,262KBの描画できていないビットマップが作成されました。

なので移行したPCもモニターのカラーを最高(32ビット)に変更したいと思います。
ありがとうございました。


531:デフォルトの名無しさん
08/09/20 22:29:28
なんつう糞プログラムだ

532:523
08/09/20 23:17:20
>>524 >>525 >>528 >>529

Bitbltですね。ヒントありがとうございます。

スプライト的な使い方ができる解説やサンプルみたいなのありますか?
>>525のソースは見てみましたが、
できればVC6のプロジェクト形式でのサンプルがあればと。

Bitbltを使えば、CViewクラスのビュー上に描画することが可能なのですか?


533:デフォルトの名無しさん
08/09/20 23:21:35
VC++開発においてC#やVBなどで用いられる
IDE機能をもたらすアドインはないでしょうか?

例えば、コメント表示(C#ではコメントはXMLで整理されており
コード内のメンバにカーソルをあわせたときや入力補完のときに
情報ウィンドウにコメントが表示されます)や、
コードチェッカ・整形(C#ではresharperというアドインによって
定義されていないメンバの呼び出しに色づけしたり、
メンバ名変更などのリファクタリングができます)
クラス定義のリンク
(既定・継承クラスへのリンクを列挙したり
名前からクラスやメンバを検索したり、
参照へのリンクも標準のgrepみたいな質素なのではなくて、
名前空間・クラス・メンバで階層化されたものがよいです)

こういった定番的な付加機能のアドインを知りたいです。

あとVSのエディタで宣言部分
(例えば「Vector vec;」でVectorの部分)に色づけをすることはできませんか?

534:デフォルトの名無しさん
08/09/20 23:43:50
コピペ、クレクレ厨かよ

535:533
08/09/20 23:55:04
>>534
お気を悪くされたのでしたら申し訳ありません。
でもコピペではないし、
ここはVC++関連について教えて頂けるスレではないのでしょうか?
クレクレばかりではなく普段自分が教えられることは教えていますし、
事前に一応検索もしました。うまく見つけられなかったので
お力を借りたいと思いここに書きました。

536:デフォルトの名無しさん
08/09/21 00:22:22
その機能ってインテリセンスなんじゃないのか?
あと、特定の単語に色をつける機能はある。Userナントカってファイルがどうのこうの、だったが……忘れた。

537:デフォルトの名無しさん
08/09/21 08:25:41
>535
初心者スレで質問してるんだから初心者だよな?
慣れるまでデフォルト、ノーマルで使っとけ

538:533
08/09/21 19:33:38
>>537
すみません、C++は初心者ですが必要になったから使うだけなので
ガリガリ書いてマスターする気にはなれません
(デフォでやったからといって上達するわけでもないし)。
なので支援機能は是非欲しいのですが皆さんデフォで使ってるのでしょうか?
.NETと比べるとまるでプレーンテキストを読み書きする感覚です。
初心者スレではなく他のスレに書いたほうがいいのかな?

539:デフォルトの名無しさん
08/09/21 19:44:47
C++はマスターしてから書きましょう

540:デフォルトの名無しさん
08/09/21 20:25:18
visual C++の入門書を買おうと思うんですが、どれがいいでしょうか?
プログラミング経験は、あまりないです。(PHPを少し扱える程度)

541:デフォルトの名無しさん
08/09/21 20:34:15
>プレーンテキストを読み書きする感覚
的確な表現だと思うのは俺だけか。


ドットネットが部品を組み合わせて使うものなら、C/C++はその部品を自分で作らなくちゃいけないんだよ。
判りやすく言うと、マゾい。作りたいアプリとは関係ないところで躓くことも多いし、
ちょっと間違えただけで簡単にクラッシュする。一昔前ならOSごと落ちる。

はっきりいって、そのような向上心のない態度ではとてもじゃないが使えない。
時間の無駄。断言できる。結果が出せるまで一年くらいかかることは確定的に明らか。

それでもC/C++を使ってる人たちは、そのような強烈なデメリットを承知の上で、
なおあまりあるメリットを見いだしてるから。
部品を自分で作る必要がある、ってのを、どうとらえるか。
それ次第で、C/C++は便利な道具にも、使えないガラクタにもなる。

いいかね?使う方が言語を選ぶんじゃあない、言語が使い手を選ぶんだ。それがC/C++だ。
わかったらドットネッターにもどるんだな。おまえにも かぞくがいるだろう……

542:デフォルトの名無しさん
08/09/21 20:35:39
ガイル乙www

543:デフォルトの名無しさん
08/09/21 20:36:22
少佐!お疲れ様であります!

544:デフォルトの名無しさん
08/09/21 21:27:48
>538
このへんを参考に
URLリンク(www.microsoft.com)

545:デフォルトの名無しさん
08/09/21 21:28:39
>>541
マスターする気がないといったことは、
バリバリやってるマ様には失礼な発言ですみませんでした。
でもそこまでマゾになんなくても、
楽をするのに努力を惜しまないのがマなのでは?
OSSが巷に溢れる昨今に部品を自作する意味は弱いという考えもありますし、
そもそも今回の話題は部品の自作ではなく環境の整備が焦点です。
あんまりにも環境が貧弱でそれが無駄にC++の敷居を上げている
と思ったのです。
以下は質問なのですが
継承クラスを探すのにはgrepでもやってるのでしょうか?
与える引数の型がミスしてるのを脳内チェックかコンパイラしか
見つけられないのでしょうか?
メンバ名の変更は対象以外が置き換わる危険性を孕んでまで全文置換でしょうか?
細かな仕様(例えば参照渡しで事前に値設定が必要なのかなど)
もわかりづらいと思うのですが、いちいちリファレンスを引くのでしょうか?

546:デフォルトの名無しさん
08/09/21 21:32:51
C++は複雑すぎてインテリセンスできないのです。
C#のように単純な言語ならではなのですインテリセンスは。

547:デフォルトの名無しさん
08/09/21 21:40:51
>>546
インテリセンス(入力補完)はC++でも有効でしょうし複雑さとは
関係がないような気がします。コメント概略が表示されないのは何故…。

548:デフォルトの名無しさん
08/09/21 21:49:20
>>544
ありがとうございます!少し道が開けた感じです。
連投すみませんでした。皆様もよりよい環境でプログラミング
できますように。

549:デフォルトの名無しさん
08/09/22 12:20:40
ここでそんなことをぐだらぐだら聞くよりもやるべきことは他にあるだろうに。

550:デフォルトの名無しさん
08/09/22 18:21:41
URLリンク(forums.microsoft.com)

日本語読まない奴ってどこにでもいるなぁ

551:デフォルトの名無しさん
08/09/22 18:26:45
自分の知らない単語は無意識に飛ばしてるのだろう。
これは日本語でも英語でも同じw

552:デフォルトの名無しさん
08/09/22 18:54:56
>>540の回答お願いします。

553:523,532
08/09/22 18:56:55
Bitbltでオブジェクトを表示したりマスクかけたりする処理についていろいろ調べてみました。
画像とそのマスクを用意して透過するぐらいまではなんとかできるようになりました。

今作ってる表示のメインはテキストや図形なので、とりあえずテキストを貼り付けたCDCオブジェクトを用意したいのですが・・・
どのようにしても表示されず困っています。

viewのOnDrawメソッドで、

CDC* spr=new CDC;
spr->CreateCompatibleDC(pDC);

spr->TextOut(0,0,"テスト文字");
pDC->BitBlt( 0, 0, 300, 300, spr, 0, 0, SRCCOPY);

これで何も出ないです。

TextOutではなくDrawTextでやる方法も試みました。
DrawText(spr->m_hDC,"てすともじ",11,temp,DT_CENTER)

こちらも表示されないようです。

画像表示のときは
CDC::SelectObject()
で、対象のCBitMapを指定すれば良かったようですが、
テキストの場合はどう指定すればよいですか?
VC6なので資料やサンプルが少なくて難儀してます・・・


554:デフォルトの名無しさん
08/09/22 18:58:30
>552
PHPを少し扱える程度じゃVCは無理
もうちょっと初心者向けの言語をお勧めします。

555:デフォルトの名無しさん
08/09/22 18:59:52
>>553
DCはデフォルトでは1x1のモノクロビットマップが選択されている
そのまま描いたらたぶん、1ドットだけBitBltされてると思うよ、よくみてみ。
通常はイメージに限らず、ビットマップを作成してDCに選択し、そこに書き込んでから
ウィンドウにBitBltする。

556:デフォルトの名無しさん
08/09/22 19:20:34
>>555
CBitmapクラスにテキスト(の形)を読み込んで使うということですか?
どのメソッドを使ったら良いか教えてください。

557:デフォルトの名無しさん
08/09/22 19:29:20
コピペ君には教えるだけ無駄

558:デフォルトの名無しさん
08/09/22 21:59:36
メソッドじゃできないよ。CでAPIを直に触らないとダメ

559:デフォルトの名無しさん
08/09/23 00:49:37
>>553
CBitmap::CreateCompatibleBitmapをやって
553で言うところのsprにSelectObject
あとはspr->TextOut or DrawTextしてpDCへBitBlt

手(CDC)に紙(CBitmap)と活字(CFont)を持って(SelectObject)文字を書く(DrawText)
最初は面倒だけどすぐ慣れるよ。

560:デフォルトの名無しさん
08/09/23 13:30:31
>>556
DCにつながってるデバイスってディスプレイだったりプリンターだったりするじゃない?
そういうデバイスを指定しないで作ったDCはビットマップがデバイスなんだよ。
だから自分でビットマップを作りそれをDCに選択してそのDCにTextOutすると
そのビットマップに文字が描かれる。
そのビットマップをウィンドウのDCにBitBltすれば画面上で見られるってわけ。

561:デフォルトの名無しさん
08/09/23 13:42:57
visual studio 2008 express を使用しています。
現在あるオープンソースソフトウェアをソースからビルドしようとしているのですが、
ビルドに際し、環境変数が見つからないと言われます。

windowsOSの環境変数は指定されている通り設定しているのですが、エラーが起こります。
確かvisual studio自体にも環境変数を指定する箇所があったと思うのですが、
場所がわかりません。

visual studio自体に環境変数を指定する場所があるならば、
その方法を教えていただきたいです。

562:デフォルトの名無しさん
08/09/23 13:49:35
すいません。
スレ違いのようですね・・・
失礼いたしました。

563:デフォルトの名無しさん
08/09/23 13:53:25
さようなら

564:デフォルトの名無しさん
08/09/23 16:36:04
新規プロジェクト追加時に、自分で設定した値を常に反映させることは可能でしょうか。
具体的には警告レベルを4として、新規プロジェクトが作成されることを望んでいます。

565:デフォルトの名無しさん
08/09/23 16:48:50
お使いの製品のグレードあるいはユーザーの知的レベルによって可能

566:デフォルトの名無しさん
08/09/23 16:51:39
VS2005EEです。知能は未アカデミックです。

567:デフォルトの名無しさん
08/09/23 18:01:03
エンタープライズエディションをばかにするな あやまれ!!


みたいな。

568:デフォルトの名無しさん
08/09/23 18:35:19
カスタムプロジェクトを使用
マクロで設定
既存のプロジェクトをコピーして使いまわす。
プログラム、スクリプト等で定義ファイルを書き替え
VSにパッチを当てて改造する。

569:デフォルトの名無しさん
08/09/24 15:57:07
C/C++室から誘導されて参りました。
VC++2005の使い方を教えてください。質問は以下です。

> 482 :デフォルトの名無しさん [] :2008/09/24(水) 07:57:18
> VC++2005を利用しています
> 例外を勉強しているのですが、例外を発生させたときに、
> catchで例外を処理しても、デバッガに例外があったことが出力されます
>
> catchで例外を処理するときは、
> デバッガの出力に例外が発生したことが出力されるのを防ぎたいですが、どのようにすればいいでしょうか
>
> 483 :デフォルトの名無しさん [↓] :2008/09/24(水) 12:37:12
> >>482
> 出力って、例外時のデバッガのダイアログ?だったら、デバッグ->例外で設定できる
> デバッグ出力の例外のレポートだったら気にするな。レポートが出すぎて困るのだったら例外の使い方が間違っている。
>
> 484 :482 [] :2008/09/24(水) 13:18:40
> >>483
> れす、ありがとうございます。後者です。
>
> 例外のつかいかたについては勉強していくところです。
> もし、テストケースとかを今後記述するような場合に、デバッグ出力でOFFにできないのか探しています。

570:デフォルトの名無しさん
08/09/24 16:12:20
リリースビルド

571:デフォルトの名無しさん
08/09/24 16:18:03
勉強?
その出力で困るやつがいるのか?
遊びじゃないんだからいい加減にしろ

572:デフォルトの名無しさん
08/09/24 16:30:52
無料になってから馬鹿が増えたな

573:デフォルトの名無しさん
08/09/24 22:37:53
>>569
Googleで検索しろ
遊びじゃないんだからそのくらい自分で調べろ

574:553
08/09/25 08:33:12
>>559 >>560
大変分かりやすい説明ありがとうございました。
やりたかったことが実現できました。

575:デフォルトの名無しさん
08/09/25 12:49:58
>>569
例外は文字通り例外的なことが起きた場合に使うもので、実行を中断せざるを得ないぐらいの場合にしか使わないほうがいい。
そんな滅多におきないことのためにifをたくさん書くのは面倒だしテストが大変になる。だから例外を使って楽に例外処理を実装する。


576:デフォルトの名無しさん
08/09/26 21:16:30
class Hoge{
public:
  Hoge();
  virtual void abs_func() = 0;
};

class Hoge_1:public Hoge{
public:
  virtual void abs_func();
};

Hoge::Hoge(){
  abs_func();
}
void Hoge_1::abs_func(){
}

int main(int argc, char* argv[]){
  Hoge *p = new Hoge_1;
  delete p;
  return 0;
}
このコード、BCB6では正常ビルドできるけど
VC2005では「外部参照 1 が未解決」リンカエラーなる。
何で?コンパイラスイッチで回避可能?


577:デフォルトの名無しさん
08/09/26 22:18:04
基底クラスのコンストラクタで純粋仮想関数呼んでるから

578:デフォルトの名無しさん
08/09/27 10:58:32
今までEclipceをずっと使ってたんだけど、C++で開発するにあたり、VisualC++を使ってみた。
これにはEclipceみたいに、コンパイルエラーが出る箇所を赤線で事前に教えてくれたりってのはないの?

579:デフォルトの名無しさん
08/09/27 11:12:32
ないね。

580:デフォルトの名無しさん
08/09/27 11:27:05
ありがと〜


581:デフォルトの名無しさん
08/09/27 11:40:47
ほのぼのしたスレですね

582:デフォルトの名無しさん
08/09/27 13:14:19
文法間違えてると、それ以降のツールチップヒントが出てこない場合がある。

例えば、構造体のメンバだと、 hoge. ここまで書くとメンバ一覧がひょこっとでてくるが、
前に間違いがあると、

a += b:  これ間違い。
hoge.    ここでヒントが出てこなくなる。

583:デフォルトの名無しさん
08/09/27 14:30:10
VC2005でプログラム(コンソールで動くもの)を作成しています。
コンパイルして実行してみても予期したとおりに動かないのでデバッグで調べた所、
cppファイルのテキストと実行している位置がずれているようです。
ステップオーバーで1行ずつ実行しているのにありえないところで数行飛んだりします。
(代入文が5つ続いてるのをジャンプしたりする)

一つ気になる点はビルド時に
LINK : 前回のインクリメンタル リンクで C:\Documents and Settings\管理者\My Documents\Visual Studio 2005\Projects\****\Debug\****.exe が見つからなかったか、ビルドされませんでした。フル リンクを行います。

という表示が出ることです。
ソリューションのクリーンを行ってもncbファイルを削除してからリビルドしてもこの表示が出ています。
原因or解決方法ご存知の方、お助けくださいませ。

584:デフォルトの名無しさん
08/09/27 14:34:59
Release版をデバッグ実行してね?

585:583
08/09/27 14:38:59
>>582
素早いレスありがとうございます。

確認しましたが構成はDebugになってます。

586:デフォルトの名無しさん
08/09/27 14:39:39
そもそもデバッガなんて使わないほうがいいよ。
printfとfprintfがあればおk

587:583
08/09/27 14:39:42
↑は>>582じゃなくて>>584です。



588:デフォルトの名無しさん
08/09/27 14:42:31
漢は黙ってmdbg

589:583
08/09/27 14:43:31
>>586
了解です。
printfで変数を調べてみた所きちんと代入されていることが分かりました。
一つ一つチェックしていくことにします。

回答ありがとうございました。

590:デフォルトの名無しさん
08/09/27 14:43:32
586みたいなのを時代遅れっていうんだろうな

591:デフォルトの名無しさん
08/09/27 14:45:50
>>585
つか、Debugビルドの構成が間違ってるんじゃね?

592:583
08/09/27 14:52:03
>>591
回答ありがとうございます

構成マネージャ->
構成=Debug
プラットフォーム=Win32
ビルド=チェックあり

構成プロパティ->C/C++->全般にある
デバッグ情報の形式=C7互換

となってます。
Debugビルドの構成の部分がどこを指すのかイマイチよくわからないのですが

593:デフォルトの名無しさん
08/09/27 14:54:47
デバッガに頼るようでは真のプログラマとは言えない

594:583
08/09/27 14:56:02
>>593
まだ真のプログラマじゃないのでご容赦下さい

595:デフォルトの名無しさん
08/09/27 15:06:08
旧バージョンのプロジェクトからアップグレードでもしたのかな?
C7互換を /Zi か/ZI にする。
最適化 無効 (/Od) であることを確認する。

変なのが沸いてるけどデバッガにトラウマでもあるのかな(笑

596:583
08/09/27 15:12:34
>>595
最適化無効によりデバッグ情報と実行位置情報が一致するようになりました。
無事いつもどおりのデバッグができるようになりました。

回答していただいた皆様、どうもありがとうございました

597:デフォルトの名無しさん
08/09/27 15:23:25
最適化してたら一致しないのはあたり前だ

598:583
08/09/27 15:30:00
>>597
すいません。全くもってその通りですね…

いつもはデフォルトで最適化が無効になっているのですが
今回はなぜか最適化されてしまっていたので気づきませんでした。

599:デフォルトの名無しさん
08/09/28 00:30:32
Visual C++ と C++ って何が違うんですか><

600:デフォルトの名無しさん
08/09/28 00:34:06
VC++は商品名。

601:デフォルトの名無しさん
08/09/28 01:01:13
C++はプログラミング言語の名前、Visual C++はC++開発のためのソフトウェアの名前

602:デフォルトの名無しさん
08/09/28 01:19:12
開発ソフトの名前に言語名入れるの禁止にしようぜ

603:デフォルトの名無しさん
08/09/28 02:27:43
むしろ言語名が入ってないほうが困る

604:デフォルトの名無しさん
08/09/28 03:34:12
Visual C++/CLI
でおk

605:デフォルトの名無しさん
08/09/28 14:42:10
パソコンもプログラミングも初心者ですがインストールで詰まったり(一応)解決できたりしたので報告してみる

OS:Vista HomeBasic SP1

はじめ、Visual Studio 2008 SP1 のDVDイメージをダウンロードして焼いてVC++インストール開始。
インストールの途中で、暗転・黒背景白字の英文エラー数秒出て(読めない)OSが落ちて再起動、インストール失敗。

次に書籍付録DVDからVC++2008無印をインストール。一応最後まで成功。
だが前回インストール失敗した残骸(?)が中途半端に残っているのか、登録手続きでキーが表示されなかったり、
ヘルプの参照で壊れている項目があったり、ということが発生。

そこでMicroSoftのアンインストールツールでアンインストール、.NET FRAMEWORK 日本語パックと本体も削除した。

今度はVC++2008SP1をウェブインストール開始。
が.NET FRAMEWORKインストール直後あたりに数秒エラーメッセージが出て(やっぱり読めない)落ちて再起動、失敗。

再びアンインストール作業をして、今度はもうちょっと慎重にやろうと決意。
LAN抜いて、セキュリティソフト(ウイルスバスター2008)を切って、msconfigからMS以外のサービスを停止。
そしてSP1のDVDからインストール開始。
途中Machine Debug Managerを停止せよとの通告が出たので、コンピュータの管理から該当サービス停止。
またHTMLアプリケーションホストも停止せよと言ってきたので、(これっておかしくね?DVDからインスーラ起動する(?)htaのアレだろ?
なんで邪魔にすんだよ?とか思ったが)setup.htaのウィンドウを閉じて、再試行。
最後まで進んでコンピュータの再起動。「システムの構成を更新」してるという表示が出て2回ほど再起動。

今度はうまくいったようで、今のところ問題なく hello fuck'n world とかで遊べてます。
すごい迷走だ。バスターのせいだったのかな。

606:605
08/09/28 14:50:10
Cドライブ直下にインストール作業フォルダっぽいのがいくつも残ってるwww

607:デフォルトの名無しさん
08/09/28 17:41:04
ここはあなたのメモ張じゃありませんよ

608:デフォルトの名無しさん
08/09/28 18:23:28
失敗例と解決しての成功例は貴重なレポートなのでむしろいいぞもっとやれ

609:デフォルトの名無しさん
08/09/28 18:41:01
ブログにでも買い解け

610:デフォルトの名無しさん
08/09/28 18:48:56
>>609
はげどう

611:デフォルトの名無しさん
08/09/30 12:26:56
インストールだけでこんなにも躓く奴が存在するなんて・・・

612:デフォルトの名無しさん
08/09/30 19:13:31
URLリンク(www.microsoft.com)
最新で無料のバージョンはこれでいいの?


613:デフォルトの名無しさん
08/09/30 19:59:04
VC6で質問です。
CScrollViewクラスのビュー上で、
クライアント領域にBitbltでいくつかのオブジェクトを貼り付けて表示したり動かしたりするプログラムを作っています。
ページが動かないときはそれでいいのですが、スクロールバーを動かしたりしても連動して動いてくれないです。

たとえばBitbltで座標100,100に貼り付けた場合、スクロール有効領域全体の0,0を基点にするわけではなく、
「現在見えている」領域の、100,100の位置に貼り付けられるといった具合です。

OnScrollメソッドで再描画をかけて、GetScrollPosition()の値分、補正して貼り付けてやれば、
スクロールバー連動で位置を動かすことはできたのですが、画面がちらついてしまいます。

スクロールバーと連動して描画したい場合、もっとスマートなやり方はありますか?

たとえば、スクロール有効領域全体の0,0を基点にしたデバイスコンテキスト(のようなもの)を取得して、
そこに貼り付けてやればこちらで再描画かけてやらなくても、スクロールによりWindowsが勝手に動かしてくれるイメージで。

614:デフォルトの名無しさん
08/09/30 20:11:36
ずらして描画は正しい
まずはちらつく原因を特定して、それを抑えよう
バッファに描いてそれを転送でもいいし、バックグラウンドの塗り潰しかもしれん

スクロールした場合、元の画像はずらしてくれて、
新たな部分だけ無効領域になってるはずだよ

615:デフォルトの名無しさん
08/09/30 20:16:25
ってもしかしてOnScrollでInvalidateしてんのか?
それは意味ないぞ
全部更新したいなら別だが。

そこはUpdateWindowだけな

616:デフォルトの名無しさん
08/09/30 21:13:48
VisualC++ 2005 Express Editionをインストールしようとしたらvs_setup.msを開けませんでした
と出てきてインストール出来ませんでした。

ちょっと前には普通にインストール出来てたのですが、何が原因かわからないです。

617:デフォルトの名無しさん
08/09/30 21:21:14
私も分からないです

618:デフォルトの名無しさん
08/09/30 21:28:44
ハードディスクがお亡くなりになる前兆ですね
なむ〜

619:デフォルトの名無しさん
08/09/30 22:22:53
>>618
HDの寿命なのか・・・
うわああああああああああああああああああ

620:デフォルトの名無しさん
08/10/01 09:45:34
>vs_setup.ms
こんなもん始めから無いだろ。
vs_setup.msiじゃないの?
これ試してみては。
URLリンク(support.microsoft.com)

621:613
08/10/01 14:09:24
>>614
ありがとうございます。

バッファとしてのデバイスコンテキストを持つようにする方式を試してみました。
CreateCompatibleBitmapでビューのDCと互換のでDCをクリエイトするようにしたところ、
ディスプレイ解像度を超える部分には書き込まれないようです。
(ディスプレイ解像度を大きく超える広さの領域をバーでスクロール表示したい)

ディスプレイに影響されない、独自の形式(解像度)のDCを作る方法がありましたら、教えてください。

CreateCompatibleBitmapではなく、
CreateDCで独自の形式(解像度)のDCを定義することを考えていますが、
このメソッドの使い方(引数の指定方法)がよく分かりません。
ウェブの資料にあった、
bufDC.CreateDC("DISPLAY", 0, 0, 0);
とすると、書き込んだ時点で全画面モードになってしまう予想外の動きが・・・


622:デフォルトの名無しさん
08/10/01 15:01:03
そりゃディスプレイのDC持ってくりゃそうなるだろ。
いったいどうやってんの?
Bitmap作るのに大きさ指定できるでしょ?

GetClientRect(&rect);
CPoint pos = GetScrollPosition();
(略)
pDC->BitBlt(pos.x, pos.y, rect.Width(), rect.Height(), &dc, pos.x, pos.y, SRCCOPY);

こんな感じでやってる?
面倒だからとりあえず、
pDC->BitBlt(0, 0, bitmap.Width, bitmap.Height(), &dc, 0, 0, SRCCOPY);
で試してみては?

623:デフォルトの名無しさん
08/10/01 15:32:08
ところでbitbltの読み方はビットブリットでいいのかな
ビットブルト?ビットブロット?


624:デフォルトの名無しさん
08/10/01 16:06:19
ビットブリットと言っているなあ

625:デフォルトの名無しさん
08/10/01 16:06:54
自分はビットブリットだと思ってるけど
周りのみんなはビットビルトって言ってる

626:デフォルトの名無しさん
08/10/01 17:11:16
>>620
vs_setup.msiでした

無事インストール出来ました。ありがとうございます

627:デフォルトの名無しさん
08/10/01 18:42:06
>>622
ありがとうございます。
ディスプレイ解像度うんぬんは的外れで、CBitmapのCreateBitmapのところで必要な解像度指定すればうまくいきました。


もうひとつ質問です。
VC6で、DrawTextで貼り付けるテキストを、サイズ指定したりフォントや色を変えたりできますか?
MFC見ているとVC2003以降はDrawTextExってのがあるみたいですが、6でそのようなことをする方法あったら教えてください

628:デフォルトの名無しさん
08/10/01 18:50:05
えーと、、、、それは基本中の基本だと思うんだが。
フォント作ってDCに選択して書くだけだろ。
色はペンやブラシを替えればいいし、GDI関連一通り実験してくれ。

629:デフォルトの名無しさん
08/10/01 18:50:29
DrawTextExはVC6にもある

630:デフォルトの名無しさん
08/10/01 21:52:49
俺はビットビーエルテーって読んでる。

631:デフォルトの名無しさん
08/10/01 22:15:45
C++って何て読むのー?しーぷらすぷらす?

632:デフォルトの名無しさん
08/10/01 22:17:59
URLリンク(wikipedia.org)

633:デフォルトの名無しさん
08/10/01 22:18:09
シータスタス

634:デフォルトの名無しさん
08/10/01 22:53:07
吹いた

635:デフォルトの名無しさん
08/10/01 23:14:48
質問です。

今、自作のゲームソフトを作っているのですが、
プログラムでどのぐらいメモリが使われてるか見てみようと思って
Windows タスクマネージャでメモリ使用量を眺めていた所です。

どうも、ファイル読み込みがあるたびにメモリ使用量が増えていき
ある程度の数字を超えると使用量の増加がやむ、というような感じみたいなのです。
mallocやnewで確保したメモリが開放されていないのかな?と思いましたが、
何度見直しても開放処理を行っています。

これってひょっとしてXPのシステムキャッシュというのが
プロセスのメモリ使用量として加算されてるという解釈であっていますでしょうか?

また、ゲームを公開するにあたって動作環境の表記は必要だと思いますが、
このようにプログラマの意図しない所でメモリが消費されているとすると、
プロセスが実際に使う最大メモリ使用量というのはどのように割り出せばいいのでしょうか?

636:デフォルトの名無しさん
08/10/01 23:19:22
メモリのほうは判らんが、
動作環境なら、自分の動かしてる環境書いて、「これ以上のスペックなら問題ないでしょう」でいいんじゃない?

637:デフォルトの名無しさん
08/10/02 00:11:42
>635
基本的に「メモリ使用量」(専門的にはワーキングセットという)は
OSがプロセスに割り当てた物理メモリの量。

プログラムがまたアロケートしたときに
割り当てのための余計なコストが増えないよう
物理メモリを確保したままでとどまる。

プロセスがバックグラウンドに移されたり、
他のプロセスがメモリを要求したりした時点で
初めてワーキングセットが減らされる。

ちなみに実際にプロセスが使っているメモリの量を知りたければ
「仮想メモリサイズ」を得る必要がある。

638:デフォルトの名無しさん
08/10/02 01:23:31
>>636-637
レスありがとうございます。

>>636
確かにそれでもいいのかも知れませんが、Windowsアプリになれたプロの人なんかは、
そのソフトに必要なメモリをどのように決めているのかと思いまして。

>>637
>プログラムがまたアロケートしたときに
>割り当てのための余計なコストが増えないよう
>物理メモリを確保したままでとどまる。

ということは、メモリ割り当ての問題であってファイル読み込みとは無関係なのですか?
音声のファイルを読み込んだりしたときに、ディスクアクセスしてないように見えるのですが

639:デフォルトの名無しさん
08/10/02 01:33:47
そりゃ以前読み込んだ音声ファイルのデータがキャッシュに残ってたんだわ。

ちなみにシステムやプログラムが使ってない物理メモリは
全部ディスクキャッシュとして使われる。

640:デフォルトの名無しさん
08/10/02 02:30:24
なるほど。ファイル読み込みのキャッシュはプロセスのメモリ使用量とは
また別として確保されるのですね。

仮想メモリサイズを取得するというのはGlobalMemoryStatus()でしょうか?
これってプロセス単体の使用量を調べられましたっけ?
それとも、他にプロセスの仮想メモリサイズを調べるための関数がありますか?

641:デフォルトの名無しさん
08/10/02 11:14:10
GUIアプリとコンソールアプリの共存って出来ますか?
例えば、物理シミュレーションの映像をDirectXやopenGLでウィンドウ表示しつつ、
演算結果はコンソールで表示し続けるみたいなことです。
プロジェクトを作るときに、コンソールとwin32アプリの2択しかないので、
そういうことは出来ないのでしょうか…

642:デフォルトの名無しさん
08/10/02 11:15:59
コンソールプログラムからCreateWindow関数を呼ぶとできます。

643:641
08/10/02 11:39:08
>>642
ありがとうございます。

644:デフォルトの名無しさん
08/10/02 12:18:40
そんなに簡単に呼べたっけ?
ライブラリとインクルード用意すれば呼べそうな気もするけど、
mainとwinmainで全然作りが違う気がする

645:デフォルトの名無しさん
08/10/02 12:25:00
一つのプロジェクトの中には、一つのmain関数しか定義できないのですか?
だとすると、directxなどのライブラリを用いるサンプルソースを試すにはその
都度、プロジェクトを作成しなといけないと思うのですが、ソリューション内の
プロジェクト全てに同じインクルードパスとライブラリパスを適用するような
ことは出来ますか?

646:デフォルトの名無しさん
08/10/02 12:41:45
パスの設定はVC++そのものの設定でやればいいだろう。
lib指定が面倒だったらヘッダーに#pragma comment入れとけばいいし

647:645
08/10/02 13:02:32
>>646
ありがとうございます。
#pragmaはコンパイラによって挙動が違ったような気がするので
見送りかな。linuxでもコンパイル出来るようにしときたいので。

648:デフォルトの名無しさん
08/10/02 13:13:28
>>647
LinuxではDirectX使えないよ
そもそもここはVisualC++のばりばり環境依存のスレです


649:デフォルトの名無しさん
08/10/02 13:28:45
>>644
#include <windows.h>

int main(void)
{
HWND myWindow = CreateWindow(
TEXT("STATIC"),
TEXT("hogehoge"),
WS_OVERLAPPED,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
NULL,
NULL
);
ShowWindow(myWindow, SW_SHOW);
MessageBox(NULL,TEXT("ok"),TEXT("close"),MB_OK);
return 0;
}


650:640
08/10/02 13:40:43
一応自分なりに調べてみてGetProcessMemoryInfo()という関数があるのがわかりました。
プロセス終了時に取得したPROCESS_MEMORY_COUNTERS構造体のメンバのうち、
PeakWorkingSetSize と PeakPagefileUsage の合計値が
プロセスで実際に使われた最大メモリ使用量という事でいいのでしょうか?

というか、ゲームに使われる全てのファイルサイズの合計超えてます^^;
こういうものなのでしょうか?プロの人は本当にどうしてるのか気になります。
一度大きくメモリを確保してプログラムで小出しにするなんちゃってアロケート実装とかですかね?

651:647
08/10/02 13:45:51
>>648
directxはあくまで例で言っただけで、openGL使うと思います。
混乱させてすみませんでした。

652:デフォルトの名無しさん
08/10/02 13:46:00
テストプログラム作って実測だろうが
机上で計算しても何の意味もない

653:デフォルトの名無しさん
08/10/02 13:59:01
lib指定のpragmaはcomment文なので、他には影響なさそうだけどね。

654:デフォルトの名無しさん
08/10/02 14:00:34
>>641 は入門用にglutから入ればそんな心配も出てこなかったろうに。

655:デフォルトの名無しさん
08/10/02 14:01:06
>>652
>>650は実測はしてはみたけどそれが正しい方法なのか知りたいって事でしょ
俺もメモリ関係よくわからんから知りたいわ

656:デフォルトの名無しさん
08/10/02 14:05:12
>一度大きくメモリを確保してプログラムで小出しにするなんちゃってアロケート実装とかですかね?

こんなこと言うくらいだから知ったかぶりして余計な心配してるだけだろ

657:デフォルトの名無しさん
08/10/02 14:05:17
GUIって「ぐい」ってよみますよね。
無知な後輩から馬鹿にされたんですが。師ねよ。

658:デフォルトの名無しさん
08/10/02 14:06:53
>>656
Windowsはともかく、家庭用ゲームの開発だと大抵はそういう手法とってるよ
Windowsのメモリ管理なんてまともにやってるゲーム会社なんてないんじゃね?

659:デフォルトの名無しさん
08/10/02 14:06:57
自動で付けられるコードの「 { 」を次の行にする設定ってあるんでしょうか?

660:デフォルトの名無しさん
08/10/02 14:10:17
>>659
C言語で { を勝手に改行されたら逆に困りますよ

661:デフォルトの名無しさん
08/10/02 14:14:03
C++クラスの追加とかの自動で挿入されるコードについて、ってこと?

662:デフォルトの名無しさん
08/10/02 14:17:34
具体的に言うと
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)
{
て感じです

そもそも後者の方は一般的ではないんでしょうか?
もしそうなら今の設定に慣れるように努力します

663:デフォルトの名無しさん
08/10/02 14:20:33
俺は後者だよ。その方が見やすい。別に手動で改行すればいいじゃん。

664:デフォルトの名無しさん
08/10/02 14:28:00
自動でできる設定はないですか・・・。
分かりました手動で頑張ってみます
どうもありがとうございました

665:デフォルトの名無しさん
08/10/02 22:29:37
ツール→オプション→テキストエディタ→C#→書式設定→改行→新しい行にメソッドの始めかっこを配置する

にチェック

ではないか
C++/CLIの設定ってあるのかね?

666:デフォルトの名無しさん
08/10/02 23:20:17
自分で探せ

667:デフォルトの名無しさん
08/10/02 23:33:03
あるレジストリキーの直下にある複数のレジストリキーの
リストを取得する関数はありますか?
具体的には↓のtest直下にあるtest1、test2、test3の名称を取得したいです。

 test\test1
    \test2
    \test3

668:デフォルトの名無しさん
08/10/02 23:41:52
apiにはそういう機能がないから第三者が作った関数を探してるということ?

669:デフォルトの名無しさん
08/10/02 23:50:43
test以下に何があるかわかんない場合だよね
RegOpenKeyEx と RegQueryInfoKey と RegEnumValue で列挙できたと思う
詳しい使い方忘れた、ググれ

670:デフォルトの名無しさん
08/10/02 23:51:36
>>668
そういうAPIを探していたのですが見つからないので
自作しかないでしょうか?

671:デフォルトの名無しさん
08/10/02 23:55:52
>>669
ありがとうございます。それらのAPIを調べてみます。

672:デフォルトの名無しさん
08/10/03 00:31:05
RegEnumKeyExという関数を見つけました。
これで取得できそうです。

673:デフォルトの名無しさん
08/10/03 01:22:01
#define ANYARGS ...
と言う宣言は、可変長引数を表しているのですか?
'...'でググッたら死ねましたorz

674:デフォルトの名無しさん
08/10/03 01:48:13
レジストリ触るのが怖くて未だにINIファイルな俺

675:デフォルトの名無しさん
08/10/03 07:49:35
そう予測したのなら、可変長引数でググってみればいいじゃない

676:デフォルトの名無しさん
08/10/03 11:18:54
>>673
名前と ... から考えるとそうだろう


677:デフォルトの名無しさん
08/10/03 13:01:50
今Vista(x64)マシンでVC++.net2008を使いコンパイルしたのを
ノーパソのXP(x86)にもってきてみると動きませんでした
動かない理由は
1.x64でコンパイルしたから
2.MS土台のバージョンが古いから
3.そもそもXPでは動かない
どれでしょうか?

678:デフォルトの名無しさん
08/10/03 13:08:52
クイズかよ

679:デフォルトの名無しさん
08/10/03 13:12:15
ワロタw

680:デフォルトの名無しさん
08/10/03 13:12:24
あと2008は2005と違って日数制限があって完全フリーじゃないんですよね?

681:デフォルトの名無しさん
08/10/03 13:16:15
2008 expressはフリー゜

682:デフォルトの名無しさん
08/10/03 13:20:20
AnyCPUなら動くよ…
fw入ってないんだろう

683:デフォルトの名無しさん
08/10/03 13:20:24
そうですか
677 ノーパソに2008入れてないのがまずいのかな〜

684:デフォルトの名無しさん
08/10/03 13:21:48
>>682
ノートはシングルコアでした

685:デフォルトの名無しさん
08/10/03 13:24:34
ああ、ここVC++か
再配布可能なファイルredistなんたらが入ってるから
それ入れてみ

686:デフォルトの名無しさん
08/10/03 13:28:45
やってみます
使う側も最新にしとかないとだめなんですねえ

687:デフォルトの名無しさん
08/10/03 13:36:14
あと、ターゲットをx64にしてたら
動かすほうのOSも64bitじゃないと
動かないよ、当然だけど念のため

688:デフォルトの名無しさん
08/10/03 13:38:04
了解

689:デフォルトの名無しさん
08/10/03 13:47:38
あーあとコード生成の設定で/MTにすると追加無くても動くかもな。

690:デフォルトの名無しさん
08/10/03 13:54:58
/MTですか
探して見ます

691:デフォルトの名無しさん
08/10/03 14:04:42
結局、Debug版という落ちだったりして。

692:デフォルトの名無しさん
08/10/03 14:07:41
>>674
俺は商用アプリでもなきゃレジストリ使わないな
インストーラーアンインストーラー不要で済むし

693:デフォルトの名無しさん
08/10/03 14:08:23
いくらなんでもメッセージ見て気が付くだろ

694:デフォルトの名無しさん
08/10/03 21:11:03
.netから *View.cpp はないんですよね
全部 *.cpp に書くんですか


695:デフォルトの名無しさん
08/10/03 21:20:11
C++/CLIのことを言ってるならありゃ全部 *.hに書くんだぜ。
MVCとかMVPにしたいなら自分で勝手にrefクラスを分ける。

696:デフォルトの名無しさん
08/10/04 14:25:37
C++勉強しようとインストールしたまでは良いのですが、コンパイルが出来ません
メニューにビルドの項目が無いのですが、どうやって追加するのですか?

697:デフォルトの名無しさん
08/10/04 14:30:07
新規プロジェクトを作成して、書いたコードをプロジェクトに追加してからビルドする。

698:デフォルトの名無しさん
08/10/04 14:31:19
>>696
メニューの、新規作成 -> プロジェクト でプロジェクトを作成しないと、ビルドはでないよ。

699:デフォルトの名無しさん
08/10/04 14:36:09
>>697-698
親切にありがとうございます
無事にコンパイルが出来ました

700: ◆3CnrSiNVYE
08/10/04 21:47:21
スレリンク(tech板:31番),32
で宿題を教えてもらったものですが、
Visual C++で
スレリンク(tech板:32番)
のソースコードで開くファイルを指定するにはどうすればよいでしょうか?

向こうのスレでは
スレリンク(tech板:71番)
という方法を教えられたのでコマンド引数にファイル名をフルパスで書いたのですが、うまくいきません

701:デフォルトの名無しさん
08/10/04 22:19:53
あなたはプログラムをやらない方がいいと思うよ
とっととコンビにのバイトの面接でも受けにいけばいかがでしょうか。

702:デフォルトの名無しさん
08/10/04 22:24:13
コンビ弐

703:デフォルトの名無しさん
08/10/04 22:27:46
学校で聞け

704:デフォルトの名無しさん
08/10/04 22:32:32
過去ログ読まないでいきなり質問するやつ

705: ◆3CnrSiNVYE
08/10/04 22:43:46
>>704
このスレのログは「ファイル」で検索して読みました。
読んでもわかりませんでした。

706:デフォルトの名無しさん
08/10/04 22:46:39
この程度のことを自力でできないような奴にプログラマになられても迷惑だよ

707:デフォルトの名無しさん
08/10/04 22:53:44
>>705
何がどううまくいかないのか説明して欲しい。
fopen()でNULLが返ってくるのか、
それとも他に何かエラーが出ているのか。

708: ◆3CnrSiNVYE
08/10/04 23:05:14
>>707
ソースコードは
#include<stdio.h>

void moji_line_count(const char *filename){
FILE *fp;
int prev='\n', moji, moji_count=0, line_count=0;

if((fp=fopen(filename, "rb"))==NULL) return;
for(;(moji=fgetc(fp))!=EOF;prev=moji,moji_count++) if(moji=='\n') line_count++;
fclose(fp);
if(prev!='\n') line_count++;

printf("File : %s\nCharacter count : %d\nLine count : %d\n\n", filename, moji_count, line_count);
}

int main(int argc, char *argv[]){
int i;

for(i=1;i<argc;i++) moji_line_count(argv[i]);
return 0;
}

なのですが、エラーが帰ってくるのではなく純粋にこのソースコードで開くファイルを指定する方法ががわからないのです

709:デフォルトの名無しさん
08/10/04 23:09:33
コマンドラインに打ち込んだ文字列も書けよ

710:デフォルトの名無しさん
08/10/04 23:10:36
>>708
ファイルを指定する方法は、
プロジェクトのプロパティ>構成プロパティ>デバッグ>コマンド引数で
ファイル名を指定する、と既にアドバイスをもらっているはずだけど。

711: ◆3CnrSiNVYE
08/10/04 23:16:07
>>710
適当なテキストファイルのフルパスを打ち込んで見ましたが、うまくいきませんでした
アドレスは
打ち込むのってこれであってますよね?
C:\\Documents and Settings\\ユーザー名\\デスクトップ\\テキストファイル.txt

712:デフォルトの名無しさん
08/10/04 23:17:26
gccつかえ

713:デフォルトの名無しさん
08/10/04 23:19:19
gcc

URLリンク(www.tdragon.net)

714:デフォルトの名無しさん
08/10/04 23:20:39
コマンドライン使えないやつ

715:デフォルトの名無しさん
08/10/04 23:22:00
>>711
何度も言うけど、うまくいかないという書き方は良くない。
何をやって何がうまくいかなかったのか丁寧に書くべき。

で、そのフォルダに「テキストファイル.txt」というファイルは置いてある?

716:デフォルトの名無しさん
08/10/04 23:23:24
結局何がどううまくいかないのかがわからないんだが。
意図していた結果と、実際に得られた結果がどうなってるの?

717: ◆3CnrSiNVYE
08/10/04 23:28:54
>>715
すいませんでした。
Ctrl+F5でビルドしても「続行するには何かキーを押してください」とでてキーを押すと終了します。

ファイルは確かにデスクトップにおいてあります。

>>716
>>708のソースで求めているものは、
ファイルを1つまたは複数指定し、
各ファイルに含まれる行数と文字数を数えて画面に出力
なのですが、
ファイルを指定して各ファイルに含まれる行数と文字数を数えて画面に出すことができず、
終了してしまいます


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4667日前に更新/181 KB
担当:undef