Comments
Description
Transcript
Windows
特集2 APIでイチから学ぶ Windows プログラミングの基本 Win32 APIの重要性と使い方が一気にわかる Visual Studio な ど の 開 発 環 境 を イ ン スト ー ル し て,こ れ か ら Windows プログラミングに取り組もうとしている方に向けて,Win32 API を用いた Windows プログラミングの基本と具体例を説明します。 Part1 で は,Windows プ ロ グラミング の 根 幹 を 成 す Windows API の重要性と全体像,Part2 以降では実際に API を使ってプログラ ミングをしながらOS制御のはじめの一歩を紹介します。 (編集部) Part1 Windowsプログラミングの変遷と Win32 APIの重要性 p.73 コラム:Win32 APIを使えるC/C++の開発環境を整える Part2 ファイル入出力に挑戦 Part3 Windowsのメモリー管理 Part4 GUIプログラミング入門 72 NIKKEI SOF T WARE 2008.10 p.82 p.88 p.93 特集2 Part1 Windowsプログラミングの変遷と Win32 APIの重要性 安室 浩和 Windows Vistaが発売されて,1年半以上が経ちました*1。 Win32 APIの位置付けと重要性 2008年3月中旬には,初めてのサービスパックであるService 最初に,Win32 APIの歴史から見ていきましょう。本格 Pack 1も公開されましたが,期待されていたほどにはVista 的にWindowsが普及するきっかけとなった,Windows 95 の普及は進んでいないようです。しかし,Windows XPを が発売されたのは,もう13年も前のことです*2 。 使い続けている人も含め,Windowsは相変わらずパソコン OSの主流であり,ソフトウエア開発者にとって重要なプラ Windows 95とともに生まれたWin32 API ットフォームであることは間違いありません。 Windows 95は,先に普及しつつあった32ビットのCPU*3 こ のPart1で は,Win32 APIが 登 場 し て か ら,.NET の機能を,初めてフル活用できる32ビットOSということで Frameworkに至るまでに登場した各種プログラミング・イ 注目を集めました。そして,その機能をプログラムから利用 ンタフェースの変遷を追いつつ,それぞれの位置関係を するためのインタフェースとして生まれたのが,Win32 API 整理し,Win32 APIの重要性を明らかにします。そして, です。 Win32 APIの全体像を説明したうえで,開発環境の準備方 Win32 APIは,全く新たに設計されたものではなく,16 法を紹介します。 ビットWindows*4のプログラミング・インタフェースである, 続くPart 2以 降 では,数 あるWin32 APIの 機 能 の 中 Win16 APIをベースにしたものでした。そのため,Win16 から「ファイル」 「メモリー管理」 「GUI(Graphical User APIに慣れ親しんだ開発者が,Win32 APIでの開発に移行 Interface)」の3つを取り上げ,より詳しく説明しながら, するのは比較的容易だったといえるでしょう。 プログラミングの実例をお見せします。 しかし,当然のように,16ビット環境と32ビット環境に 今さらWin32 APIと思っている人や,Win32 APIは難 は,根本的な違いがありました。それは,4Gバイトもの広 しくて手が出ないと思っていた方々が,本記事を通して 大なメモリー空間と,プリエンプティブなマルチタスク*5環 Win32 APIプログラミングに興味を持っていただければ幸 境の実現です。これにより,プログラムの可能性は拡大し いです。 ましたが,同時に大規模化と複雑化が一気に進みました。 安室 浩和(やすむろ ひろかず) 大手コンピュータ・メーカー勤務。入社以来10 数年の大半をソフトウエア製品開発の現場で 過ごす。数年前に初めて現場を離れるも,今年 2月に復帰。モノづくりの楽しさと大変さを再 認識している。プライベートでは,現在訳あっ てJavaScriptを勉強中。 *1 Windows Vistaの店頭販売は2007 年1月30日,Windows Vista Service Pack 1の一般向け提供は2008年3月 19日に始まりました。 *2 Windows 95の日本版は1995年11 月に発売されました。 *3 Intel 80386など。同じx86命令セ ットを採用するPentium 4やCore2プ ロセッサの祖先に相当します。 NIKKEI SOF T WARE 2008.10 73