Shammer's Philosophy

My private adversaria

Windowsプログラミング

今度の会社は、Windowsと密接に関わっているプロダクトが多いので、Windowsプログラミングについてちょっと調べてみました。

主に調べたのはVisual C++ について。普通の C++ といったい何が違うのか?かなり昔、普通の何も問題のないはずのC++のコードをVisual C++コンパイルするとエラーになる、というとある掲示板のコメントを見て、Windowsプログラミングはかなりややこしそう、と思ったのを覚えている。実際はどうなのだろうか?

当然、細かい部分までは把握出来ていないだろうけれど、以下のようなことがわかった。

  • CからWindowsAPIを呼び出してプログラミングすることができそう
  • Visual C++ は専用のライブラリを持っていて、通常はその専用ライブラリを使ってプログラミングをする
  • .Net用のフレームワークも存在していて、それを使用してプログラミングすることもできる

このWindowsAPIというのは、Win32APIのこと。普通のCプログラムは、main関数から始まるが、WindowsAPIの場合はWIN_MAINなる関数から始まるようだ。こうした特殊な習慣がいくつか存在している様子。

いやぁこれは・・・Win32API触ってみないわけにはいかないでしょう。なんかこう、OSのが直接提供している機能を使ったプログラミングをやってみたいのですよ。少なくとも、自分がこれまで触れてきたJavaPythonLispはOSが直接提供している関数(API)を隠蔽している。この隠蔽のおかげでだいぶ楽にプログラミングができるようになっているのは事実だけれども、自分はそれより一歩深いところを覗いてみたい。前々からOSをもっと知りたいという漠然とした欲望があったけれども、その正体は「OSがが提供しているシステムコールをもっと理解して、それを使ったプログラミングをしてみたい」ということなんだと気付いた。もっとも、WindowsAPIなんて時代遅れなのかもしれないけれども・・・衝動的にhttp://software.nikkeibp.co.jp/software/backno/04apimook1.htmlを買ってしまいました。

とりあえず、仕事で必要になるだろうし少しWindowsプログラミングも勉強してみることにします。

参照情報: