首先感谢候俊杰先生与《深入浅出MFC》(第二版),以下心得都来自于对该书的学习~
今天学习了Windows的Console程序、进程和线程这三个概念:
一、Console程序
说到Windows程序,一定得有WinMain、消息循环、窗口函数。
在Visual C++中可以写纯种的C/C++程序,不牵扯任何窗口、对话框、控件,那就是console程序。
DOS程序是MZ格式;Console程序则和所有的Win32程序一样,是PE格式。
撰写console程序,有几个重点请注意:
①进入点为main
②可以使用printf、scanf、cin、cout等标准输入输出装置
③可以调用与GUI无关的Win32 API
二、进程的诞生与死亡
1)shell调用CreateProcess激活App.exe。
2)系统产生一个"进程核心对象",计数值为1。
3)系统为此进程建立一个4GB地址空间。
4)加载器将必要的代码加载到上述地址空间中。
5)系统为此进程建立一个线程,称为主线程(primary thread)。线程才是CPU时间的分配对象。
6)系统调用C runtime函数库