- ベストアンサー
これからはじめるVC++2005
いつもお世話になっております。 ご相談したいことは、これからVC++2005を勉強したいと思うのですが、経験者様たちからの助言を受けたいなと思っております。 例えば、お勧めの書籍、知っておいたほうが良い知識、学習順序などです。 よろしくお願いします。 ※こちらの経験は ・ANSI-C/C++基本 ・C#基礎 ・VB.NET学習中 ・VC++6.0挫折(もちろんMFCも) などです。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
★アドバイス ・既にそれなりに C 言語を知っているようなので、まずは C 言語の知識と経験を身に付けましょう。 ・『ANSI-C/C++基本』をもう少ししっかりと学習します。 ・また『MFC』は初心者には使いこなせません。便利ですが…。挫折しても当然かもしれません。 ・いろいろと学習段階ですので『Visual Studio.NET 2005』を使って『C言語』+『Windows API』で GUI のアプリケーションをちょっと作ってみましょう。 ・文法だけでは身につきませんよ。 ・よって、実践的に何かのソフト(ツール)でも作りながら学びましょう。 ・学習順序は『C言語』→『MFC』→『C#』と『VB.NET』で良いと思います。私のアドバイスは。 ・まずは、『C言語』+『Windows API』で簡単なソフト(ツール)を作ってみましょう。 サイト: ・http://www.kumei.ne.jp/c_lang/→『猫でもわかるプログラミング』お勧め1 ・http://wisdom.sakura.ne.jp/system/winapi/→『Win32 API入門』お勧め2 関連: ・http://oshiete1.goo.ne.jp/qa2658639.html→『プログラミング超初心者なのですが』回答者 No.2 ・http://oshiete1.goo.ne.jp/qa2659749.html→『ソフトウェア作成への勉強方法』回答者 No.5 ・http://oshiete1.goo.ne.jp/qa2638905.html→『初めてのプログラミング』回答者 No.3 ・http://oshiete1.goo.ne.jp/qa2655087.html→『C言語の入門書について』回答者 No.2 最後に: ・簡単なソフト(ツール)ならば、時計、タイマー、ストップウォッチなどを作ってみましょう。 ・以上。おわり。参考にして下さい。
その他の回答 (6)
- charmer29-2
- ベストアンサー率25% (41/159)
再び#5です。 老婆心ながら補足しておきます。 .Net Frameworkを使うと、殆どのロジックは言語に依存しなくなります。 従って、C♯で書けるとC++/CLIでもVB.netでも書けると言うことです。 #極論ですが、C♯とVB.netの違いは;(セミコロン)の有無くらいみたいなもんですw
お礼
回答ありがとうございます。 CLRをターゲットとするアプリケーションを作るなら、どの言語でも同じように作れるということですね。 わざわざWIN32などで作るのは、実行速度を上げたいときでしょう。そういう場面にこれから出会うのかはわかりませんが、.NETだけじゃなくやっていこうかなと。 ※土曜日までポイントをつけるのを待とうと思いますので、ご意見あるかたは、カキコお願いします<(_ _)>
- shibamu
- ベストアンサー率50% (10/20)
C++/CLIの書籍については、私もちょっとわかりません…あまり参考にならずすみません。 Webで解説されているところを見て、並行して学ぶ標準的な従来のC++との違いや、同じ.NETの言語であるC#との違い(あまり多くはありません。.NET Frameworkについて調べる時にはC#の資料が最も多いと思います)を知ることでC++/CLIを扱っていくというのが良いと思います。
お礼
回答ありがとうございます。 C#の解説がもっとも多いのですか。ならば、新しいことを学ぶときはC#がいいのかな。ADO.NETやASP.NETなどもやらないといけないので、そのときはC#で覚えるようにしたほうがいいですね。 C#とC++/CLI・・.NET Frameworkを使うところでは同じクラスを使うからそこは流用できるのかな。
- charmer29-2
- ベストアンサー率25% (41/159)
現状、.Netアプリケーションと言えばVB.NETかC#.NETを指すことが多いようです。 敢えてC++/CLIを学ぶ理由がないのでしたら、C++とC#を学べばいい気がします。 尚、VC++2005では、標準C、標準C++、C++/Win32も問題なくコンパイルできます。 #ExpressEditionではPSDKを別途インストールする必要がありますが。
お礼
回答ありがとうございます。 C++/CLIを今学ばなければならない理由はないのですが(WIN32も学ばなければならない理由はないのですが)、知っていて損はないかなと思いましてやろうかと。 C++/CLIの本に関してはアマゾンで検索したら英語版はあります。(早く日本語版が出ることを祈ってます)なので、本が出るまではOh-OrangeさんがおっしゃるようにWIN32とMFCをやろうかなと。(でもその前に基本のC/C++を忘れてるのでやり直さないと・・・)
- shibamu
- ベストアンサー率50% (10/20)
VC++.NET 2005はC++/CLIといい、C#などの言語と並んで.NET Frameworkというライブラリを使うために新たな機能が加えられています。 gcnewなどのキーワードの追加がそうですね。 新しい、.NET Frameworkを使った場合のHello, Worldは以下のようになります。 int main(){ System::Console::WriteLine("Hello, new style."); return 0; } しかし、C++/CLIでは前のC++の文法をそのまま内包しているため以下のようなコードもコンパイル・実行できます。 #include <stdio.h> int main(){ printf("Hello old style."); return 0; } このため、新しい.NET Frameworkを利用した作り方(GUIを作るとなると格段に簡単です)と、従来のC++の使い方を並行して学んでいくのはどうでしょうか? C#とC/C++で学んだ基本が生きてくると思います。
お礼
回答ありがとうございます。 C++/CLIと従来のC++を両方学んでいく。なるほど。 従来のC++は本とかも結構出ているとおもうのですが、C++/CLIはアマゾンで探してもなかなかないですね。 もしC++/CLIの本で何かお勧めがありましたら、教えていただけると助かります。 よろしくお願いします。
- Oh-Orange
- ベストアンサー率63% (854/1345)
★私も『.NET』環境にはあまり詳しくありません。 ・いろいろと機能追加と変化があるようですが、VC++ ですので基本は同じだと 思います。→詳しくは下の『参考URL』をどうぞ。 ・雛形に関しては『新規プロジェクト』で『アプリケーションの設定』タブで 『空のプロジェクト』にチェックしなければ自動的に雛形が作られます。 ・つまり、C#、VB.NET などと同じ仕組みです。→言語の文法ぐらいで基本操作 などは変らないようです。これが『.NET』環境ということかな? ・まぁ、同じ『Microsoft』社の『Visual Studio.NET』環境ですからね。 ・『Visual Studio.NET』は複数の言語(C/C++、C#、Java、VBなど)を使い分けれる ようですが、すべて揃ったプロフェッショナル版は高価で 20~70万円します。 ・よって私は、『Visual Studio.NET 2003』の C/C++ のみを安く 1.8万円で購入 しました。→『Visual Studio.NET 2005』の無料版が今ありますね。 .NETの参考: ・http://e-words.jp/w/Microsoft202ENET.html→『IT用語辞典 e-Words』より ・http://www.jagat.or.jp/story_memo_view.asp?StoryID=5794→『Microsoft.NETとは』 ・google などで『.NETとは』と検索するといろいろと出てきますよ。 ・以上。参考にして下さい。
- Oh-Orange
- ベストアンサー率63% (854/1345)
★そのままコンパイルとは? ・私は『Visual Studio.NET 2003』の C/C++ で『Windows API』+『C言語』でソフトを開発しています。 ・そのままコンパイルとは C言語がコンパイルできるか、どうか、ということでしょうか? ・C++ 言語は C の文法もコンパイルも含みますのでそのまま出来ますけど。 ・これで『素朴な疑問』は解けましたか?
お礼
お返事ありがとうございます。 言葉足らずだったようですみません。 イメージとしては、C#やVB.NETなどでは新規プロジェクトをつくると既に雛形ができていて、そこに自分の機能を追加していく感じだと思うのですが、VC++.NETでも同じように雛形が既にかいてあるのかなと。それと、ANSI C/C++とWin32でメイン関数がmain()とWinMain()で違うようにVC++.NETと.NETが付いたことによって(文法とか色々)何か変化はないのかなと思ったしだいです。 VC++.NETに関してはまったくの無知なものなのですみません。
お礼
さっそくの助言ありがとうございます。 たくさんの参考URL等も為になりそうです。 ちょっと疑問に思ったことがあるので、質問です。 WIN32をVisualStudio.NET 2005でそのままコンパイルできるのでしょうか? ちょっとその辺がどうなのだろうと思ったのでよろしければご返答お願いします。