2006-05-06

Visual C++ 6.0 に挑戦

仕事で Visual C++ 6.0 を使うことになりました。共同で仕事するので、自分だけ Visual Studio 2005 を使うわけにはいきません。



書籍がほとんど売られていないので、Visual C++ 6.0 環境の効果的な使い方が分かりません。いらいらしてきたので、xyzzy でコードを書いて、cl.exe や cygwin の g++ でコンパイルしてみました。Windows API を呼ぶだけなら、ライブラリなんぞに気を使わなくてもいいようです。




#include <windows.h>
#include <iostream>
using namespace std;

DWORD WINAPI hello(LPVOID data) {

for(;;) {

cout << "hello" << endl;

Sleep(1);

}

return 0;

}



DWORD WINAPI bye(LPVOID data)

{

for (;;) {

cout << "bye" << endl;

Sleep(1);

}

return 0;

}



int main() {

HANDLE h = CreateThread(NULL, 0, hello, 0, 0, NULL);

HANDLE b = CreateThread(NULL, 0, bye, 0, 0, NULL);

Sleep(100);

return 0;

}



「g++ foo.cpp」「cl foo.cpp」のいずれでもコンパイルできます。これのほうが簡単だ。と思ったのも束の間、Visual C++ 6.0 のプロジェクトファイルが必要なのでした。