- ベストアンサー
Visual C++ 2005 Express Edition
あるC言語をつかったウィンドウズプログラミングの本に載っていたコードを入力してビルドしようとしたら色々とエラーが出てしまい、今度はその本に付属していたCD-ROMに収録されていたコードを使ってビルドしても失敗してしまいました。 そして、その本を書いてらっしゃる方が管理をしているホームページにVC2005になってデータ型のチェックが厳しくなったと書いてありました。 そのサイトには新しくVC2005のサンプルプログラムが紹介されていたのですが、本に載っていたものとは少し違うようです。しかし、それを使ったら難なくビルドも出来て、ちゃんとウィンドウが表示されました。 ということは、今までに出版された本に載っているウィンドウズプログラミングのコードはVisual C++ 2005 Express Edition では使えないということなんでしょうか。 もし知っていらっしゃる方がいましたら、教えてください。よろしくお願いします。
- miho_y
- お礼率45% (11/24)
- C・C++・C#
- 回答数5
- ありがとう数1
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
「猫でもわかるWindowsプログラミング」でしょ? この本ならMFCは使ってません 以下「猫本」だと仮定します. また私はExprssではなく,standardで実験してますので Expressではどうかは知りません 猫本のサンプルはそのままでは ことごとくVC++2005では処理できません. #いや,猫本のサイトには問答無用で通す手も #書いてるけども,お勧めはできないと書いてますね 猫本のソースは以下のように書き直す必要があります (1) " "で囲まれた文字はすべて TEXT(" ")に変更する (2) strcpyなどの標準ライブラリ関数は すべてセキュリティ強化版のものに置き換える 警告がでるものだけで十分なはず. これはMSDNで検索してください。 例えばstrcpyを検索すれば置き換える関数が みつかります. (3) 型名などは,すべて``T''のものにする. 例えば,LPCSTRではなくLPCTSTRにする. これ以外に,暗黙の型キャストで 文句を言われることもあるはずですが これは明示的にキャストすれば通ります. また,上記の対策は UNICODEかそうでないかで同一のソースで 通すための方策も入ってますが これくらいしないとVC++2005は 通してくれませんでした #私は面倒なので #全部UNICODEでやってるので #そんなに細かく検証してないですけど 今までのWin32APIの本のソースに関しても この手の対策を施せば多分通ると思います.
その他の回答 (4)
- kabaokaba
- ベストアンサー率51% (724/1416)
No.4です 書き忘れた Expressだとplatform SDKが必要では? 一応下記URLでMSが説明しています. #ちょっと古いSDKが公開されているとかいう話だけど
- phoenix343
- ベストアンサー率15% (296/1946)
使えないって事ではない。直せば使えるってことでしょう。 Windowsプログラミングが確立された時ってエラーチェックも細かいとこまで出来てなかった。で、最近のコンパイラなどはちゃんとしたエラーチェックが出来るようになったので、古いサンプルコードを*そのまま*コンパイルしても通らないってことがおき得ます。 昔はこう組んでて大丈夫だったんだな、ぐらいに考えてくださいね。 考え方や組み方まで変わっているわけではないと思いますから。
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
- ExpressではMFCが使えません。なのでMFCによるWindowsアプリは不可。 - ExpressではWin32APIが"そのままでは"使えません。なので別途Win32SDKを追加する必要があります。 - ExpressではC++/CLIによるWindowsアプリケーションが作成できます。サイトにあったのはきっとコレでしょう。
- toro777777
- ベストアンサー率16% (43/257)
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; } というようなプログラミングを実行するにはどうすればいいでしょうか
- 締切済み
- その他(インターネット・Webサービス)
- Visual C++ 2005 Express Edition
Visual C++ 2005 Express EditionをインストールしてC言語を勉強しようと思ったのですが、使い方がよく分かりません。まずは、HallowWorldを表示したいと思っています。手順を教えてください。できれば詳しくお願いします。
- 締切済み
- Windows XP
- visual basic 2008 express editionの使い方
Basicプログラミングをやりたいと思いvisual basic 2008 express editionをインストールしたんですが、、、使い方がまったくわかりません。私は、プログラミング初心者なので、visual basic 2008 express editionの使い方が詳しくのっているサイトなんかが、あればおしえてください。おねがいします。
- ベストアンサー
- Visual Basic
- 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#などのサンプルコードを見ながら プログラムを作成しています。 知識があまりないものなので、もしよろしければやさしい解説を宜しくお願い致します。
- ベストアンサー
- C・C++・C#
- Visual C++ 2005 Express Editionについて
最近プログラミングの勉強を始め、「Visual C++ 2005 Express Edition」を使っています。 ネットなどで検索し、このソフトがお勧めと書いていたので使っているのですが、CとC++の違いがよくわかりません。 このふたつにはどのような違いがあるのでしょうか。また、両方とも今使っているソフトで扱うことができるのでしょうか。 そのことについて教えてほしいです。 よろしくお願いします。
- ベストアンサー
- C・C++・C#
- Visual C++ 2008 Express Editionについて
Visual C++ 2008 Express Edition でプログラミングをしていたのですが、クラスビューにツリーが表示されなくなってしまいました。 以前までは、新しくプロジェクトをつくり、となりの+を押したら、ソース、ヘッダー、みたいな感じででていたのですが、それが出なくなってしまいました。 どうすればそれらがでるのか、ご教示お願いします。
- ベストアンサー
- C・C++・C#
- 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を使って変数を表示できる方法があれば教えてください。 よろしくお願いします。
- ベストアンサー
- C・C++・C#
- 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年くらい前にかじり程度 勉強しましたが、完全に忘れました。 一から勉強し直すとして、どの言語がお勧めでしょうか? それぞれの良い所、悪い所も教えて頂けるとありがたいです。 ご存知の方いらっしゃいましたら、ご教授お願いします。
- ベストアンサー
- C・C++・C#
- 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が使えるようになるでしょうか?
- ベストアンサー
- C・C++・C#
お礼
詳しい回答をありがとうございます。 とっても助かりました。 一通りCの本は読んだのですが、まだまだ本をあっちこっち見ながらやっている状況なので、大変そうですが頑張ってみたいと思います。 本当にありがとうございました。