No.2ベストアンサー
- 回答日時:
Win32はWindows9x、MeやNT、2000、Xpに実装されているAPIです。
それ以前はWin16やWin32sといったものを使っていました。APIはアプリケーションレベルから使用する事のできる、一番下の層で(ホントは違います。ホントはDeviceIOControl()でVxDの機能を使ったり出来ます。Win9xやMeではKernel書き換えて好き勝手出来るし)、この層までを用いてアプリケーションを作成すればWin32レベルでも互換性を確保する事が出来ます。
(建前(笑) ホントに互換性を維持するためにはこの中でも非互換APIを使わないようにし、挙動の違うAPIも使わない用にするか挙動をあわせるコードを書く必要があります。システム周りのAPIではNT系と9x系では互換性がほとんどありませんし(i.e. Toolhelp32系APIとPSAPI系APIとか・・・2000では両者とも使えるようになりましたが)、GDI系APIも微妙に違います。後はUnicode系のサポートも。)
それに対してMFCはWin32API(昔はWin16サポートしてた頃も)をラッピングしたクラスライブラリで(あれを「クラス」ライブラリというのはちょっと心苦しい・・・)ソフトウェア開発において工数を減らし、プログラムを見通し良いものにするものです。
一昔前はBorlandのOWLというものもありましたし、最近だとC++ Builderの(DELPHIからの移植?)VCLといったものもあります。
以上がWindowsに限った話です。まぁ、平たく言えばAPIというのはOSが用意するシステムサービスへのアクセス手段で、実行速度は速いが機能は一般的に貧弱。クラスライブラリはAPIを素のまま使うとさすがにきついので労力軽減のために使用するライブラリの一種、とでも考えてください(あくまで一例です。例外はいっぱいあります。たとえばBeOSのAPIなどはAPI自体がクラスライブラリとなっています。また、クラスライブラリも工数軽減だけでなく、porting(移植作業)を手助けするものもあります)。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(悩み相談・人生相談) 大学生、電車で勉強してる人がいない。。 4月から大学生で最近毎日電車通学してますが、片道1時間半かか 7 2022/04/07 10:03
- IT・エンジニアリング ITエンジニアの勉強時間や勉強方法について 初めまして閲覧いただきありがとうございます。 当方25歳 4 2022/06/09 18:51
- 大学受験 9月からMARCH 間に合いますか? 3 2022/09/13 20:55
- 大学受験 偏差値40の受験生です。 現在19歳バイトしてなく武田塾に通ってます。 1日最低12時間勉強していて 6 2022/06/12 23:52
- アプリ Webやアプリの制限が可能なWindowsアプリケーション 4 2022/11/10 12:13
- 英語 最近、英語の勉強始めました。 中学生英語からですが、音声付きのテキストで書きながら読んで勉強していま 6 2023/01/17 22:20
- 大学受験 これから1年間本気で勉強したいと思っています。 息抜きも大切とか言わないでください。ほんとにそんな時 5 2022/04/29 06:48
- 大学受験 大学受験の勉強方法に関してです。 現在浪人していて、バイトも学校もないです。 独学自宅学習をしていま 1 2022/04/24 21:15
- 専門学校 この生活、中々うまく勉強がはかどりません。 3 2023/03/06 15:00
- その他(悩み相談・人生相談) できる人ってのは頭が良いというより、自分自身にストイック(真面目)な人ではないでしょうか? 5 2022/07/17 19:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Windows Media Playerを開くと...
-
システムコールと標準ライブラ...
-
本格的なGUIを作るのにおすすめ...
-
python urlopen error について...
-
ATLとSTLの違いは何でしょうか?
-
Google ColaboでGUI作成
-
32768以上の乱数を作りたいので...
-
C++ 標準ライブラリの実際の中...
-
LIBCMT.LIBをリンクしてコンパ...
-
プログラマーで「使えない人」...
-
横スクロールアクションのステ...
-
Ps+のフリープレイでDestiny2の...
-
関数ライブラリ一覧
-
設定ファイルを扱うライブラリ...
-
unix-c と linux-c の違いは?
-
強化学習の環境作成、AI。自動...
-
Dreamweaver ライブラリ機能に...
-
VC++を使って「ストリートファ...
-
C# EXCELセルの入力規則設定に...
-
c言語でntpdateコマンドにあた...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Ps+のフリープレイでDestiny2の...
-
Windows Media Playerを開くと...
-
本格的なGUIを作るのにおすすめ...
-
Google ColaboでGUI作成
-
python urlopen error について...
-
scipy っていうのをいれようと...
-
強化学習の環境作成、AI。自動...
-
C言語について。
-
マウスのクリックを自動で
-
LIBCMT.LIBをリンクしてコンパ...
-
Dreamweaverのライブラリが反映...
-
【iTunes】CDをiPhoneに取り込...
-
shaderを書かないで、GPUレンダ...
-
declaration of 'index' shadow...
-
MFC/C++ sprintf の代わりに <<
-
ライブラリ作成時のグローバル...
-
静的ライブラリから静的ライブ...
-
boostのアンインストールについて
-
統計解析ソフト「R」と「SA...
-
c言語でntpdateコマンドにあた...
おすすめ情報