なんか、Vistaでは、Win32を使うよりも、オブジェクト指向なAPI .Net Framework 3.0 を使おうということになっているみたいですね。(^^;
確かに、Win32って、ちょっとウインドウを出すだけでも、鬼のようにコーディングしないといけなかったし、APIの引数が鬼のように多かったり、挙動がいくつもあったりと、かなり骨が折れるものでしたが、それも過去のものになるのでしょうか?
一番適している開発言語は、C# みたいですね。。(^^;;
ちなみに、Macの Carbon で、空のウインドウを出すプログラムは、下記になるようです。
Carbon って、古いイメージがありますけど、これをみる限りは、そうでもないようですね。。
#include <Carbon/Carbon.h> int main(int argc, char* argv[]) { IBNibRef nibRef; WindowRef window; OSStatus err; // Create a Nib reference passing the name of the nib file (without the .nib extension) // CreateNibReference only searches into the application bundle. err = CreateNibReference(CFSTR("main"), &nibRef); require_noerr( err, CantGetNibRef ); // Once the nib reference is created, set the menu bar. "MainMenu" is the name of the menu bar // object. This name is set in InterfaceBuilder when the nib is created. err = SetMenuBarFromNib(nibRef, CFSTR("MenuBar")); require_noerr( err, CantSetMenuBar ); // Then create a window. "MainWindow" is the name of the window object. This name is set in // InterfaceBuilder when the nib is created. err = CreateWindowFromNib(nibRef, CFSTR("MainWindow"), &window); require_noerr( err, CantCreateWindow ); // We don't need the nib reference anymore. DisposeNibReference(nibRef); // The window was created hidden so show it. ShowWindow( window ); // Call the event loop RunApplicationEventLoop(); CantCreateWindow: CantSetMenuBar: CantGetNibRef: return err; }
何より、int main(int argc,char *argv[]) で始まっているのがいいです。(^^;;