![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
あるC言語をつかったウィンドウズプログラミングの本に載っていたコードを入力してビルドしようとしたら色々とエラーが出てしまい、今度はその本に付属していたCD-ROMに収録されていたコードを使ってビルドしても失敗してしまいました。
そして、その本を書いてらっしゃる方が管理をしているホームページにVC2005になってデータ型のチェックが厳しくなったと書いてありました。
そのサイトには新しくVC2005のサンプルプログラムが紹介されていたのですが、本に載っていたものとは少し違うようです。しかし、それを使ったら難なくビルドも出来て、ちゃんとウィンドウが表示されました。
ということは、今までに出版された本に載っているウィンドウズプログラミングのコードはVisual C++ 2005 Express Edition では使えないということなんでしょうか。
もし知っていらっしゃる方がいましたら、教えてください。よろしくお願いします。
No.4ベストアンサー
- 回答日時:
「猫でもわかるWindowsプログラミング」でしょ?
この本ならMFCは使ってません
以下「猫本」だと仮定します.
また私はExprssではなく,standardで実験してますので
Expressではどうかは知りません
猫本のサンプルはそのままでは
ことごとくVC++2005では処理できません.
#いや,猫本のサイトには問答無用で通す手も
#書いてるけども,お勧めはできないと書いてますね
猫本のソースは以下のように書き直す必要があります
(1) " "で囲まれた文字はすべて
TEXT(" ")に変更する
(2) strcpyなどの標準ライブラリ関数は
すべてセキュリティ強化版のものに置き換える
警告がでるものだけで十分なはず.
これはMSDNで検索してください。
例えばstrcpyを検索すれば置き換える関数が
みつかります.
(3) 型名などは,すべて``T''のものにする.
例えば,LPCSTRではなくLPCTSTRにする.
これ以外に,暗黙の型キャストで
文句を言われることもあるはずですが
これは明示的にキャストすれば通ります.
また,上記の対策は
UNICODEかそうでないかで同一のソースで
通すための方策も入ってますが
これくらいしないとVC++2005は
通してくれませんでした
#私は面倒なので
#全部UNICODEでやってるので
#そんなに細かく検証してないですけど
今までのWin32APIの本のソースに関しても
この手の対策を施せば多分通ると思います.
詳しい回答をありがとうございます。
とっても助かりました。
一通りCの本は読んだのですが、まだまだ本をあっちこっち見ながらやっている状況なので、大変そうですが頑張ってみたいと思います。
本当にありがとうございました。
No.5
- 回答日時:
No.4です
書き忘れた
Expressだとplatform SDKが必要では?
一応下記URLでMSが説明しています.
#ちょっと古いSDKが公開されているとかいう話だけど
参考URL:http://www.microsoft.com/japan/msdn/vstudio/expr …
No.3
- 回答日時:
使えないって事ではない。
直せば使えるってことでしょう。Windowsプログラミングが確立された時ってエラーチェックも細かいとこまで出来てなかった。で、最近のコンパイラなどはちゃんとしたエラーチェックが出来るようになったので、古いサンプルコードを*そのまま*コンパイルしても通らないってことがおき得ます。
昔はこう組んでて大丈夫だったんだな、ぐらいに考えてくださいね。
考え方や組み方まで変わっているわけではないと思いますから。
No.2
- 回答日時:
- ExpressではMFCが使えません。
なのでMFCによるWindowsアプリは不可。- ExpressではWin32APIが"そのままでは"使えません。なので別途Win32SDKを追加する必要があります。
- ExpressではC++/CLIによるWindowsアプリケーションが作成できます。サイトにあったのはきっとコレでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 10 Visual StudioとVisual C++ Build Toolsについて 1 2023/04/16 03:42
- 作詞・作曲 或る曲の楽譜のコード進行の中に"F onA"なるものがありました。これはどんな和音ですか? 7 2023/05/22 00:34
- C言語・C++・C# C言語初心者 構造体 課題について 2 2023/03/10 19:48
- Visual Basic(VBA) VBAのエラーについて 2 2023/08/02 17:46
- Visual Basic(VBA) Changeイベントで複数セルへの貼り付けおよび値削除時に1個目のセルのみエラーになる 3 2022/12/21 09:07
- Java EclipseとVisual StudioをPC1台にインストールしただけではPCは重くならない? 3 2022/12/08 15:35
- その他(パソコン・周辺機器) タブレットで使用するUSBメモリについて 7 2022/05/26 14:27
- Excel(エクセル) excelvbaのwithについて 4 2022/12/19 16:51
- C言語・C++・C# 3×3のラテン方陣をつくるプログラムを作成したのですが、(↓) #include <stdio.h> 5 2023/07/10 01:53
- Ruby Gitのクローンについて 3 2022/04/10 12:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IPアドレス、サブネットマスク...
-
iCloudフォトライブラリ内の画...
-
Windows Media Playerを開くと...
-
じゃんけんゲーム(DXライブラ...
-
outp関数について
-
C言語によるディジタル信号処理...
-
【VC++】MFC、C++/CLI(CLR)、...
-
【VBA】イベントログの取得
-
VB.NET とドットNET(.NET...
-
32768以上の乱数を作りたいので...
-
(C言語等で)既存ファイル群の属...
-
MFCとWIN32API
-
String^の^自体が何を意味して...
-
Dreamweaverのライブラリが反映...
-
C++ 標準ライブラリの実際の中...
-
オンラインゲームを作る道のり...
-
マウスのクリックを自動で
-
DirectX Graphics と OpenGLっ...
-
sleep関数
-
C# EXCELセルの入力規則設定に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
IPアドレス、サブネットマスク...
-
大阪梅田でプログラミング関係...
-
MPWでCをするには?
-
Qtを勉強するのに何か良い書籍...
-
VC++6.0で新しいウィンドウを表...
-
eclipseで関数printfを解決でき...
-
機械学習の学習ステップ
-
C++のおすすめの本を教えてくだ...
-
OLEの構造化ストレージについて...
-
C言語等での画像処理の勉強方法
-
VisualBasicプログラミング技術...
-
ヤフー知恵袋みたいなサイトを...
-
タイピングゲームのプログラミ...
-
Android開発の詳しい本
-
VBでシューティングを製作する...
-
NCルータープログラム学習方法
-
プログラミングでロジックを調...
-
プログラミングの次に何を勉強...
-
T-kernelに関しての質問です。
-
C/C++でHTMLソースの取得はでき...
おすすめ情報