ノート:Microsoft Foundation Class
批判を大幅に修正しました。履歴コメントミスったり俺の勘違いがいくつかあったのでいっぺんに書きます。
> Delphi、Java、.NET Frameworkなど他のオブジェクト指向ライブラリは....
GCを利用しているC/C++のオブジェクト指向ライブラリは滅多にないため削除
> CDocument, CView などのMVC周りの仕様が、事実上必須であるにもかかわらず、難解である。
MVCかどうかは判断しづらい(Controllerにあたるクラスが無い)のと、「必須である」の主語がないため編集した
> 言語として、C++を採用しているため、他のオブジェクト指向言語と比べて、コンパイルの時間が長い。
MFCへの批判ではなくC++への批判のため削除
> ラウンドロビンマルチタスク時代のメッセージ機構を継承している為....
プログラミング形態が時代遅れなのは反論できないけど、「ラウンドロビンマルチタスク時代のメッセージ機構を継承している為OpenMPやMPIと併用できない」の意味がわからない。Visual C++はopenmpに対応していて、mpiもサードパーティから出ています。削除。復活させる場合はコードを用いて、「時代遅れではないと思われるC++ライブラリ」と比較しながら解説お願いします。
--165.93.176.60 2009年5月10日 (日) 08:45 (UTC)
プライベートアセンブリにする方法について
[編集]今回削った部分[1]についてメモを残させてください。
- セキュリティパッチの適用対象外となり
今まで、サービスパックなどでDLLのバージョンが上がった場合、新しいバージョンのランタイムをインストールすると、同時にそのバージョンを使うよう指定する「発行者ポリシー」もインストールされてきました。そのため、新しいバージョンが(共有アセンブリに)インストールしてあれば、プライベートアセンブリのDLLより優先して共有アセンブリにある新しいほうが使われます。そのため、セキュリティパッチが出た場合にもその恩恵を受けることが可能です。
- またアプリケーションマニフェストを必要とするためにWindows XP以降のOSでなければ使用できない
これちょっと悩んだんですが、実行ファイルと同じフォルダにランタイムDLLを置いた上で、プライベートアセンブリとすれば、XP以前でも以後でも対応できるので、一応削除しました。--Wdpp 2009年12月24日 (木) 21:15 (UTC)
事実検証および情報更新してくださりありがとうございます。実は「XP以降でないとプライベートアセンブリの方法は使用できない」と記述したのは、下記のMSDNを参考にしたためです。
上記サイトの末尾にメモとして、「Windows 2000 では、アプリケーションのローカル フォルダに配置すると使用時に問題が発生するため、シナリオ 2 (プライベート アセンブリとしての Visual C++ ライブラリの配置) はサポートされません。」とあり、実際に動作させることはできても、マニフェストをサポートしない旧OSでのプライベートアセンブリの利用に関してマイクロソフトは保証しないということの表明であると判断しました。今後はもう少し情報源を詳細に記述するように努めますのでどうかご容赦ください。--sygh 2009年12月25日 (金) 15:53 (UTC)
MFC 7.0, MFC 7.1 の Windows Update 対象外の件 (要出典)
[編集]どのように書けばいいのか分かりませんでしたので出典をここに記載します。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=36818&forum=7 1yen(会話)