Windows程序设计读书笔记(1)

    技术2024-12-05  51

    读这本书完全是被它的名气所吸引的,看了之后发现确实不负众望,是一本不可多得的好书。

    这是一本讲述在windows环境下用CAPI编程的书,习惯了各种RAD开发,看了本书以前很多不解的东西茅塞顿开。

    第一章主要介绍了一些基础性的东西。

    接触该书的先决条件是安装有Windows系统、了解C语言、安装有可进行Windows编程的开发环境。

    Windows是支持抢占式多任务、多线程的图形操作系统。支持CUI(控制台用户接口)和GUI(图形用户接口)两种编程方式。所有基于GUIWindows程序至少有一个窗口,支持鼠标和键盘控制,每一个时刻可以有多个Windows程序同时运行,互不冲突。

    Windows运转的核心是一个被称作“动态连接”的概念。通过“动态连接”功能可调用Windows提供的系统函数即API,这些函数主要包含在Kernel.dll(包含内存管理、文件I/O、任务处理API函数)、User.dll(包含用户界面API函数)、GDI.dll(包含图形设备接口API函数)三个动态连接库中。

    然后通过一个例子,作者正式拉开了了windows编程的序幕:

    下面是基于控制台模式的典型代码:

    #include

     

    main()

    {

      printf(hello,world!/n);

    }

    下面是基于图形模式的典型代码:  #include

    int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPreInstance,PSTR szCmdLine,int iCmdShow)

    {

    MessageBox(NULL,TEXT(Hello,Windows 98!),TEXT(HelloMsg),0);

         return 0;

    }

    windows图形模式程序的入口点是WinMain,总是想这样出现:

    int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPreInstance,PSTR szCmdLine,int iCmdShow)

    WINAPI是一个调用约定,等价于__stdcall

    HINSTANCE是一种句柄类型,其值用以标识对象。第一个参数用以表示该程序实例;

      第二参数现已废弃,总是NULL,我们不必理会;第三个参数为运行程序的命令行;第四个参数指出程序初始显示的方式。

    编译此程序时,生成一个.OBJ文件,链接阶段,链接程序结合.OBJ文件和.LIB文件建立.EXE文件。通过在Project选项上选择Setting,然后单击link标签,可以看到导入库(import library)列表。

      在Visual C++中,可以选择不同配置编译和链接程序,默认有DebugRelease两种配置。

    最新回复(0)