悩めるSEの雑記です

日々思いつくがままです

Visual C++/MFCのお勉強

GW中の平日二日間は、自宅での学習となりました。

 

次のプロジェクトでは、Visual C++ 2010/MFCを使うと伺ったので、そのお勉強をしていました。C++/MFCは昔散々やりました。しかし、この10年以上は.NETがメイン、Java少々という感じです。

 

MFCで開発となると、思い出さないとだめなことが沢山あります。自宅にVisual Studio 2008/Stdがあったので、これを使うことにしました。ExpressならVS2010も入手できますが、MFCが利用できませんから。

 

ウィザードで生成したアプリ、それからMS社が提供しているサンプルアプリケーションを読んでいくお勉強。あーこんなんあったわー、という感じで、引っかかったところをネットリソースで深掘りしていきます。

 

昔はMSDNでしたが、今はMicrosoft Leanというサイトになってるんですね。VS2008はオフラインのMSDN Libraryもあり、インストールまでしましたが、なんと英語も残っているようです。少し懐かしくもあります。

 

各種ドキュメントページでは、プロダクト(VS2019とか)が選択できます。選択されたプロダクトに応じて内容が変わる仕組みです。現状のドキュメントでは、サポートされているVS2015以降しかなく、「VS2010かあ、ちと不安」と思いながら進めていました。しかし、Googleから検索した際に、たまたま「VS2010」のドキュメントがでてきました。サポート外製品についても、「以前のバージョン」として選択が可能でした。更新はされていませんが、これはとても心強いです。

 

それから、2003以降の各製品での新機能や変更履歴が記載されていたので、そこで各バージョン差異をチェックしました。C++についてはVisual C++ 6.0で止まっていたので。ただ.NETでの潮流は把握していたので、なんとなく、あーこれな、という感じでもありました。

 

 

二日間やりましたが、覚えることが多いですね。一から始める人は大変です。見えない所で動く処理も多いし、テンプレートパターンっぽくなっているんで、全容が掴めないです。教えるのも大変ですね、これは。一緒に作業する人には、WindowsやWIN32APIも教えないとだめだし・・・

 

実際のプロジェクトは、機能追加や仕様変更なので、新規にMFCの機能を使って・・・ということは無いとは思います。懸念があるとするば、別システム(サービス?)との連携があるそうで、そこのI/Fが一体何で実施するものか、です。WEB系システムじゃないので・・?何でしょう?COMコンポーネントとかで提供されてたりするのでしょうか。COMとか面倒だから、あまりやりたくはないですね。

 

 

C++自体はゲームとか組み込み系でまだまだ使われているようです。今回のプロジェクトは、AV機器やスマホみたいな組み込みではないですが、キオスク端末のように、パソコンに見せない系のシステムなんですが、まだまだC++って使われているのでしょうか?コーディングもJava/C#系と比べると、キータイプ量が多くて効率悪いですし。