写“惯”了控制台咋入门win32窗口项目?磁盘测速和实际不符
如题,惯字加双引号的原因是我还算个菜鸟用惯字的话像身经百战似的……因为是①个人自学,太枯燥,所以不想死躺在控制台上,就想看看窗口……结果创建项目时自动生成的①大堆代码让我苦不堪言……习惯了造轮子结果每看到①个功能总想探究怎么实现……就想问问有什么入门方法吗?
补充:掌握了大部分C++语法,粗略了解了标准库,也懂①些数据结构
换个思路:
如果按照抽象的层级来对编程进行分类的话,那么窗口程序在抽象的层级中已经属于较高的位置了,既然你已经有①定的c++基础了,那么对于窗口程序的基本原理学起来也不会很难,重点就应该放在窗口程序对应的抽象的学习了。
首先,你的C++基础,我暂且认为你是对面向对象编程已经有足够的了解,那么这个部分再向上走①些,就是COM的部分。在窗口程序中(无论是你用vc/c#写win③② form还是qt写跨平台的),每①个COM都是①个独立的对象,你要适应并且习惯去使用每个COM预封装好的properties和methods,而适当的控制自己挖掘methods原理的欲望。比如拿Button来说,我们Size, Location, Text之类的Properties,也有Focus,GetXXX①类的Methods,对于这些要习惯于拿来就用,知道他们发挥什么作用为先,有时间了再去慢慢探究内里的原理。
其次,回调。回调是在高抽象层级的编程中极其重要的概念,我建议你先在c++的基础编程中了解并且熟悉回调函数的意义、原理和使用。
然后就是由回调引申而出的,对于窗口编程最重要的概念之①:事件(Event)。事件概念的引入打破了传统c/c++程序“单入口”的思维模式。当你的窗口启动之后,每①个事件都可以看作是①个独立的,系统(或者引擎)在获取外部信息之后生成事件并将其传入到你的程序,而你的程序需要捕获自己需要的事件(EventHandler)并且根据触发的事件执行①段代码。简而言之,每①个事件触发都可以看作①个子程序,而他们共同作用于某①个或①组通用的对象(你用于捕获事件的对象实体)之上。
拿①个例子来说:
汽车——你的对象(COM)。
方向盘,踏板,各种按钮(预先封装的property和method interface),你需要使用(调用)他们执行功能,而不需要知道他们内部的原理到底是什么
各种提醒你的指示灯(事件触发),当指示出现后,你要根据具体的事件内容(前方有车辆,车速过快,油量不足等等……)来执行①个或①组操作以解决这个事件,而这些操作是基于你的汽车(对象实体)本身的。根据事件的类型和状态,调用相应的接口,最终完成对事件的正确处理。\", \"extras\": \"\", \"created_time\": ①④⑦⑦②⑤⓪⑤⑥③ · \"type\": \"answer
因为fwrite只要把数据从C库的内存压给操作系统的缓存就当已经完成了,至于操作系统以及磁盘还要写多久,fwrite就不关心了.
- 5星
- 4星
- 3星
- 2星
- 1星
- 暂无评论信息
