• ベストアンサー

Visual C++ 2005 Express Edition

あるC言語をつかったウィンドウズプログラミングの本に載っていたコードを入力してビルドしようとしたら色々とエラーが出てしまい、今度はその本に付属していたCD-ROMに収録されていたコードを使ってビルドしても失敗してしまいました。 そして、その本を書いてらっしゃる方が管理をしているホームページにVC2005になってデータ型のチェックが厳しくなったと書いてありました。 そのサイトには新しくVC2005のサンプルプログラムが紹介されていたのですが、本に載っていたものとは少し違うようです。しかし、それを使ったら難なくビルドも出来て、ちゃんとウィンドウが表示されました。 ということは、今までに出版された本に載っているウィンドウズプログラミングのコードはVisual C++ 2005 Express Edition では使えないということなんでしょうか。 もし知っていらっしゃる方がいましたら、教えてください。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kabaokaba
  • ベストアンサー率51% (724/1416)
回答No.4

「猫でもわかるWindowsプログラミング」でしょ? この本ならMFCは使ってません 以下「猫本」だと仮定します. また私はExprssではなく,standardで実験してますので Expressではどうかは知りません 猫本のサンプルはそのままでは ことごとくVC++2005では処理できません. #いや,猫本のサイトには問答無用で通す手も #書いてるけども,お勧めはできないと書いてますね 猫本のソースは以下のように書き直す必要があります (1) " "で囲まれた文字はすべて TEXT(" ")に変更する (2) strcpyなどの標準ライブラリ関数は すべてセキュリティ強化版のものに置き換える 警告がでるものだけで十分なはず. これはMSDNで検索してください。 例えばstrcpyを検索すれば置き換える関数が みつかります. (3) 型名などは,すべて``T''のものにする. 例えば,LPCSTRではなくLPCTSTRにする. これ以外に,暗黙の型キャストで 文句を言われることもあるはずですが これは明示的にキャストすれば通ります. また,上記の対策は UNICODEかそうでないかで同一のソースで 通すための方策も入ってますが これくらいしないとVC++2005は 通してくれませんでした #私は面倒なので #全部UNICODEでやってるので #そんなに細かく検証してないですけど 今までのWin32APIの本のソースに関しても この手の対策を施せば多分通ると思います.

miho_y
質問者

お礼

詳しい回答をありがとうございます。 とっても助かりました。 一通りCの本は読んだのですが、まだまだ本をあっちこっち見ながらやっている状況なので、大変そうですが頑張ってみたいと思います。 本当にありがとうございました。

その他の回答 (4)

  • kabaokaba
  • ベストアンサー率51% (724/1416)
回答No.5

No.4です 書き忘れた Expressだとplatform SDKが必要では? 一応下記URLでMSが説明しています. #ちょっと古いSDKが公開されているとかいう話だけど

参考URL:
http://www.microsoft.com/japan/msdn/vstudio/express/visualc/usingpsdk/
  • phoenix343
  • ベストアンサー率15% (296/1946)
回答No.3

使えないって事ではない。直せば使えるってことでしょう。 Windowsプログラミングが確立された時ってエラーチェックも細かいとこまで出来てなかった。で、最近のコンパイラなどはちゃんとしたエラーチェックが出来るようになったので、古いサンプルコードを*そのまま*コンパイルしても通らないってことがおき得ます。 昔はこう組んでて大丈夫だったんだな、ぐらいに考えてくださいね。 考え方や組み方まで変わっているわけではないと思いますから。

回答No.2

- ExpressではMFCが使えません。なのでMFCによるWindowsアプリは不可。 - ExpressではWin32APIが"そのままでは"使えません。なので別途Win32SDKを追加する必要があります。 - ExpressではC++/CLIによるWindowsアプリケーションが作成できます。サイトにあったのはきっとコレでしょう。

回答No.1

VC++2005EEではMFCが使えないから そっちの方が問題ありそうだけど 質問者が書いているサンプルはMFC使っている?

関連するQ&A

  • Visual C++ 2008 Express Edition

    Visual C++ 2008 Express Editionをダウンロードしたのですが、使い方が全く分かりません。C言語を学習しています。 例えば #include <stdio.h> int main(void) { printf("Hello, World!\n"); return 0; } というようなプログラミングを実行するにはどうすればいいでしょうか

  • Visual C++ 2005 Express Edition

    Visual C++ 2005 Express EditionをインストールしてC言語を勉強しようと思ったのですが、使い方がよく分かりません。まずは、HallowWorldを表示したいと思っています。手順を教えてください。できれば詳しくお願いします。

  • visual basic 2008 express editionの使い方

    Basicプログラミングをやりたいと思いvisual basic 2008 express editionをインストールしたんですが、、、使い方がまったくわかりません。私は、プログラミング初心者なので、visual basic 2008 express editionの使い方が詳しくのっているサイトなんかが、あればおしえてください。おねがいします。

  • Microsoft Visual C++ 2008 Express E

    Microsoft Visual C++ 2008 Express EditionとMicrosoft SQL Server 2008 を使用してWindowsフォームアプリケーションでプログラミングを行っています。 今完成させたい機能は、データベースの値をDataGridViewに表示する。 その表示画面のDataGridViewに値を書き込み更新ボタンをクリックしたらそれがデータベースに 反映される。 DataGridViewのレコードを削除でき、それもデータベースに反映させることができる。 以上の三つです。 DataSetにデータを読み込ませて、DataGridViewに入れるとか、BindingSourceを使用する必要が あるなどは、どこのサンプルコードにも登場してくるのでなんとなく分かるのですが、完成には至って いません。 Visual C++のサンプルコードがあれば助かるのですが、今はVC#などのサンプルコードを見ながら プログラムを作成しています。 知識があまりないものなので、もしよろしければやさしい解説を宜しくお願い致します。

  • Visual C++ 2005 Express Editionについて

    最近プログラミングの勉強を始め、「Visual C++ 2005 Express Edition」を使っています。 ネットなどで検索し、このソフトがお勧めと書いていたので使っているのですが、CとC++の違いがよくわかりません。 このふたつにはどのような違いがあるのでしょうか。また、両方とも今使っているソフトで扱うことができるのでしょうか。 そのことについて教えてほしいです。 よろしくお願いします。

  • Visual C++ 2008 Express Editionについて

    Visual C++ 2008 Express Edition でプログラミングをしていたのですが、クラスビューにツリーが表示されなくなってしまいました。 以前までは、新しくプロジェクトをつくり、となりの+を押したら、ソース、ヘッダー、みたいな感じででていたのですが、それが出なくなってしまいました。 どうすればそれらがでるのか、ご教示お願いします。

  • Visual C++ Express Edition でもprintf

    Visual C++ Express Edition でもprintfを使いたい 私は、Visual C++ 2008 Express Editionを使っています。  以前はVisual Studio 2005 Professionalを使っていました。 今まではプログラムを走らせている間の変数の変化を見るために、 printf関数を使って「出力」ウィンドウに数値を表示させていました。 Visual C++ 2008 Express Editionに変更してから、 同一のソースコードをコンパイル、実行しても printf文で記述した出力内容を「出力」ウィンドウに表示させることができません。 これは、Express Edition特有のものでしょうか? printfを使って変数を表示できる方法があれば教えてください。 よろしくお願いします。

  • Visual Studio Express Editionについて

    プログラムの勉強を初めようと思っております。もちろん初心者です。 簡単なアプリケーションを作れるようになりたいです。 無償のソフトを探していたら、Microsoft Visual C++ 2005 Express Edition を見つけこれでいいかと思い、更に調べてみると同様のソフトで、 Microsoft Visual BASIC 2005 Express Edition、 Microsoft Visual C# 2005 Express Edition、 もある事が分かりました。BASIC、C言語は10年くらい前にかじり程度 勉強しましたが、完全に忘れました。 一から勉強し直すとして、どの言語がお勧めでしょうか? それぞれの良い所、悪い所も教えて頂けるとありがたいです。 ご存知の方いらっしゃいましたら、ご教授お願いします。

  • VC++ express editionでマルチスレッドは可能ですか?

    VC++ express editionでマルチスレッドは可能ですか? Visual C++ 2008 express edition で マルチスレッドプログラミングは可能でしょうか? ちょっと調べたところ、2005(MFC)ならば簡単にできるようですが。 (すみません、MFCがどういうものか良く理解できていない者です)

  • Visual C++ 2008 Express Edition が使えなくなった。

    Visual C++ 2008 Express Editionを開いたら、「Visual C++ 2008 Express Edition 製品の登録」と出てきて使うことが出来ません。 「今すぐ登録」をクリックして、Windows Live ID は取得したのですが、登録キーの取得が出来ません。Windows Live IDでMicrosoftサイトにサインインしても、画面中程の読み込みが終わらなくて、何もできませんでした。どうしたらVisual C++ 2008 Express Editionが使えるようになるでしょうか?