当前位置:C++技术网 > 资讯 > Windows零基础入门:1.5 Windows编程基础知识是什么

Windows零基础入门:1.5 Windows编程基础知识是什么

更新时间:2015-07-25 15:25:52浏览次数:1+次

    上一节 《1.4 什么是操作系统基础知识》 ,我们了解到了Windows的基础知识,也提及了Windows编程需要的基础。当然,在上一节中,讨论的Windows编程基础,还是概括性的。在此,在进一步描述一下,对此,会让我们有个更加整体的清晰的把握。而我们学习的,是Windows最基本的机制,不论是最新版的Win10,还是很来的Windows XP,都会遵从这个机制。所以,我们学习的这些基础知识,只要Windows还存在一直都有用。

    Windows发展历史图示
    事实上,我们的课程,基本就是讲解Windows编程基础的课程了,这也是零基础入门的意思。我们就学习的是基础知识,方方面面的基础知识。课程所学的基础知识,基本就是Windows编程的基础知识。学完所有基础知识,你才有能力深入学习。而在此过程中,我们会对遇到的操作系统理论基础知识做相关的讲解。需要补充的,再推荐书籍去阅读学习。
    那么什么是Windows编程基础知识,一句话,我们现在课程要学的全部是Windows编程基础知识。所以,我们这也是入门级别的。当然,对于每一个技术细节,我们都会细致深入的剖析,并没有什么重点,学过的都是需要掌握的。当对一个技术细致深入分析之后,你会发现,学习是件有趣的事情。我们不用应付考试,学到了多少就是多少,学以致用才是目的。
    当然,我们需要事先知道,Windows程序设计,学的是API编程,就是直接调用Windows的API函数来实现各种功能。同时,程序的框架也是最原始的,所以,我们自己需要处理很多的细节。而在这个处理的过程中,我们就可以对Windows的内部机制有深入的了解。
    而在开发中,我们不需要用API的原始方式去开发,我们会学习MFC。这个程序框架库是封装了API的一个程序框架,在开发时,非常方面。它完成了大量的底层基础功能,促使我们开发Windows程序非常简单。然而,如果你对API编程(也就是常说的Win32编程,Win32编程就是我们现在学的Windows程序设计)不熟悉的话,MFC自然也不能学的很好,也就不能灵活的运用。MFC是一套开发工具库,是辅助我们在Windows上开发的工具库,它的底层就是Windows编程。这也是我们要学习Windows编程的原因。我们学习了最基本的编程方式,再使用这些开发库就很轻松了。当然,如果你说你不喜欢MFC,你喜欢QT,那么我告诉你,QT要运行在Windows平台上,依然是要遵从Windows的机制的,而这些机制就是我们课程学习的。如果你对Windows编程不懂,这些开发库,你都不可能用的好。如果不能灵活运用,那么就是最普遍的码农。我想,你心里也有一个想成为高手或者大师的梦吧。
    没事,跟随我们的课程,会让你对Windows编程(win32)编程有个透彻的认识的。可以说,拿下Windows编程,在Windows平台上开发,你才会灵活自如。
    下面说说编程中涉及到的编程基础。Windows中最基础的就是窗口界面了。因为Windows中,窗口界面就是这个系统的核心,也是它最基本的元素。如果直接使用Windows编程(下面都称为Win32编程,即Windows API编程),那么,对于这些窗口,轻松可以操作。而QT这种跨平台的工具库,更是要深入了解Windows平台的机制,然后使用另外一套机制来实现窗口的创建。当然,这些机制还是遵从Windows窗口的机制。否则无法在Windows操作系统上实现需要的功能。窗口相关的编程知识,就是我们第一个需要掌握的。当然与窗口相关的运作机制,就是Windows的通信机制,可以实现各个程序之间,程序内部多个窗口之间实现交互的消息机制。
    以上两点,窗口和消息,是Windows的核心而基础的技术了。如果能够将这些掌握,Windows编程你已经拿下了半壁江山。然而,掌握这些又岂止那么容易呢?
    Windows上所有的技术,多多少少都伴随着消息的处理,比如说,窗口绘图,需要在绘图消息到达时,你才能去处理绘图消息,此时才能绘图。而绘图本身,则与消息没有关系。但是没有消息,你又没有绘图的入口。Windows的消息,就好比是人体的血液,无处不在的。
    而绘图就是传统的GDI(Graphic Drawing Interface),通过GDI我们在窗口等上面画图。说起画图,我们又要知道坐标系统,图形色彩基础等。每一种技术都依赖了其他技术,因此,我们学习的东西,由一点会扩展到整个体系。当然,我们是抓住核心,来扩展的。我们只需要了解最基础的这些额外的技术,在Windows编程中能够运用自如即可。如果说要深入,各个技术都可以单独作为一个课程来讲解,然而,对于我们来说,没有这个必要。你只要会在Windows上画图即可,至于内部如何去画图,在本课程中,并不需要深入。我们始终是以Win32编程为中心主线,所以,这些就是作为基础编程知识来学习即可。如果日后你对某些领域特别感兴趣,自然会深入学习的。
    另外,Windows中,上面画图等讲的是输出设备的技术,另外的就是输入设备的技术,如键盘、鼠标等。当然,这些也是基于消息来运作的。我们只需要了解到这些的消息处理级别就差不多了。这就是这方面的基础。我们没有必要了解键盘的构造,如何识别一个字符等,当然,如果你有精力,可以去研究。不过本课程中,Widnows编程没有必要。我们要学会如何去处理键盘和鼠标发过来的消息即可。
    其他的基础与Win32编程相关的还有计时器的技术,这个是技术CPU时钟周期产生的一种应用技术。当然,我们了解这些使用即可。还有剪切板,菜单(属于窗口与消息部分)、文件操作等。有了这些,Windows编程基础就掌握的差不多了。然而,想要更加深入的学习,那么就要学习深入的课程了。那就是要结合操作系统理论在Windows上的实现。比如进程线程管理,进程通信、进程同步等等。
    而这些都是高级技术了,因此需要操作系统理论知识的支持了。否则,无法学习。当然,我们的课程,不会去研究这些高级的部分。如果你基础都不够,还是先把基础学好的。以后有机会,再出Windows高级入门教程。
    相信说到这里,大家对Windows编程基础有了整体的认识了吧。更加细致的介绍和学习,就在我们的课程里了。跟着学习,好好努力吧。如果对课程有什么建议,请一定要提出来哦。对于课程中讲解的有不懂的地方,也一定要在文章后面提问,我会及时解答的。