我的windows学习心得
2011-09-03 00:53
197 查看
就我所学的进行总结总结
第一章:
1.windows环境中运行的程序可以共享存储在所谓动态链接库文件中的例程,windows提供了在运行时将程序和动态链接库例程链接起来的机制,其实windows基本上就是一整套动态链接程序库
2.windows用不着直接访问硬件,windows将硬件虚拟化,配合适当的驱动程序就能在硬件上面直接运行
3.早期的windows的大部分实现了三个动态链接库,它们分别代表了windows的单个主要的子系统,即内核(kernel),用户(user),GDI,新的系统虽然怎加了不少,但基本的还是这三个系统,内核负责操作系统的传统的工作,包括内存管理,文件输入,输出以及任务管理,用户指的是用户管理,GDI就是图形设备接口,负责在屏幕或打印机显示文本域图形
4.每个windows的EXE文件包含所要用的各个动态链接库以及库中函数的引用地址,当程序被装入内存时,程序中的函数调用都被解析成DLL函数入口的指针
5.windows.h最重要的包含文件,它囊括了若干其他windows头文件,其中的某些头文件又包含另外头文件,下面是最重要,也是最基本的头文件
WINDEF.H 基本数据类型定义
WINNT.H 支持Unicode的类型定义
WINBASE.H 内核函数
WINGDI.H图形设备接口函数
这些头文件定义了windows的所有数据类型,函数调用,数据结构以及常量标示符
6.正如c程序的入口一样,windows程序入口是WinMain,总是以下面的面目出现:
int WINAPI WinMain(HINSTANCE hinstance,Hinstance hPreInstance,
PSTR szCmdLine,int iCmdShow)现在就这些参数进行说明一下:
第一个是一个实例句柄,用来表示一些东西,在这个例子中用来表示这个程序
第二个参数,当多路运行同一个程序时,那么这个程序就会创建多个实例,所用的实例都会共享代码,以及只读存储,一个程序可以通过查看hPrevInstance是否有其他的实例正在运行,如果有可以跳过某些零散杂物步骤,其值通常是NULL
第三个参数:有些windows程序在启动时用它来装入内存
第四个参数,表明最开始窗口是如何在桌面上显示的
7.关于MessageBox函数如:
MessageBox(NULL,TEXT("ZJDSF")TEXT("FSDFSD"),0);
第一个参数是窗口句柄,第二个和第三个参数是在文本区和标题栏上显示的内容,最后一个参数是MB_开头的一些文字,函数的返回值是IDOK
第二章:
感觉第二章比第一章难多了,第二章主要讲了关于字符的相关知识,总结了一下,还有很多的东西没有看懂,以后还可以补充
1.美国国家信息标准码(ASCII),一共是126个字母,每个字符使用7位来表示的,这种字符已经深深的扎根于计算机,由于有许多的字符ASCII是不能表示的,人们就想着用8位来表示以个字符,这样就有128个额外的字符,但这个字符集不太适合用于windows,windows不需要线图字符,因为他有一个完整的图形系统,windows自有的字符集被称为“ANSI字符集”,但这样不行。
2.由于上述都不行,人们就想着用双字节字符集(DBCS)但这样出现了一个问题,就是字符串的长度没法决断,字符串的长度不能有字节的长度来决定
3.unicode解决方案:使用双字节,了解unicode和DBCS的区别,unicode里的字符是16位宽,而不是8位宽,8位在unicode是没有意义的,但在DBCS中我们仍在处理8位值,在DBCS某些单字节就定义了一个字符,而一些字节则需要额外字节才能完全定义一个字符,unicode只有一个字符集,因此避免了二义性,但是unicode占得空间大一倍,宽字符不一定是unicode
4.char数据类型
对于一下语句:char *p="hello!",指针p需要4个字节,指向的是7个字节的空间,c语言中的宽字符
第三章:
感觉这张好难,在看了第二遍以后感觉好了一点但还是有很多不理解的地方,总结了一下:
1.windows向应用程序发送了一条消息,实际上就是向你的窗口过程发送了一条消息,这个窗口过程可以是应用程序中某一个函数,也可以是动态链接库中,窗口过程根据这些消息作出相应的处理
2.窗口类表示了传递消息的窗口过程,windows中允许多个窗口共享同一个窗口类,因而多个窗口可以使用相同的窗口过程,例如windows中所有的按钮都是基于相同的窗口类
第一章:
1.windows环境中运行的程序可以共享存储在所谓动态链接库文件中的例程,windows提供了在运行时将程序和动态链接库例程链接起来的机制,其实windows基本上就是一整套动态链接程序库
2.windows用不着直接访问硬件,windows将硬件虚拟化,配合适当的驱动程序就能在硬件上面直接运行
3.早期的windows的大部分实现了三个动态链接库,它们分别代表了windows的单个主要的子系统,即内核(kernel),用户(user),GDI,新的系统虽然怎加了不少,但基本的还是这三个系统,内核负责操作系统的传统的工作,包括内存管理,文件输入,输出以及任务管理,用户指的是用户管理,GDI就是图形设备接口,负责在屏幕或打印机显示文本域图形
4.每个windows的EXE文件包含所要用的各个动态链接库以及库中函数的引用地址,当程序被装入内存时,程序中的函数调用都被解析成DLL函数入口的指针
5.windows.h最重要的包含文件,它囊括了若干其他windows头文件,其中的某些头文件又包含另外头文件,下面是最重要,也是最基本的头文件
WINDEF.H 基本数据类型定义
WINNT.H 支持Unicode的类型定义
WINBASE.H 内核函数
WINGDI.H图形设备接口函数
这些头文件定义了windows的所有数据类型,函数调用,数据结构以及常量标示符
6.正如c程序的入口一样,windows程序入口是WinMain,总是以下面的面目出现:
int WINAPI WinMain(HINSTANCE hinstance,Hinstance hPreInstance,
PSTR szCmdLine,int iCmdShow)现在就这些参数进行说明一下:
第一个是一个实例句柄,用来表示一些东西,在这个例子中用来表示这个程序
第二个参数,当多路运行同一个程序时,那么这个程序就会创建多个实例,所用的实例都会共享代码,以及只读存储,一个程序可以通过查看hPrevInstance是否有其他的实例正在运行,如果有可以跳过某些零散杂物步骤,其值通常是NULL
第三个参数:有些windows程序在启动时用它来装入内存
第四个参数,表明最开始窗口是如何在桌面上显示的
7.关于MessageBox函数如:
MessageBox(NULL,TEXT("ZJDSF")TEXT("FSDFSD"),0);
第一个参数是窗口句柄,第二个和第三个参数是在文本区和标题栏上显示的内容,最后一个参数是MB_开头的一些文字,函数的返回值是IDOK
第二章:
感觉第二章比第一章难多了,第二章主要讲了关于字符的相关知识,总结了一下,还有很多的东西没有看懂,以后还可以补充
1.美国国家信息标准码(ASCII),一共是126个字母,每个字符使用7位来表示的,这种字符已经深深的扎根于计算机,由于有许多的字符ASCII是不能表示的,人们就想着用8位来表示以个字符,这样就有128个额外的字符,但这个字符集不太适合用于windows,windows不需要线图字符,因为他有一个完整的图形系统,windows自有的字符集被称为“ANSI字符集”,但这样不行。
2.由于上述都不行,人们就想着用双字节字符集(DBCS)但这样出现了一个问题,就是字符串的长度没法决断,字符串的长度不能有字节的长度来决定
3.unicode解决方案:使用双字节,了解unicode和DBCS的区别,unicode里的字符是16位宽,而不是8位宽,8位在unicode是没有意义的,但在DBCS中我们仍在处理8位值,在DBCS某些单字节就定义了一个字符,而一些字节则需要额外字节才能完全定义一个字符,unicode只有一个字符集,因此避免了二义性,但是unicode占得空间大一倍,宽字符不一定是unicode
4.char数据类型
对于一下语句:char *p="hello!",指针p需要4个字节,指向的是7个字节的空间,c语言中的宽字符
第三章:
感觉这张好难,在看了第二遍以后感觉好了一点但还是有很多不理解的地方,总结了一下:
1.windows向应用程序发送了一条消息,实际上就是向你的窗口过程发送了一条消息,这个窗口过程可以是应用程序中某一个函数,也可以是动态链接库中,窗口过程根据这些消息作出相应的处理
2.窗口类表示了传递消息的窗口过程,windows中允许多个窗口共享同一个窗口类,因而多个窗口可以使用相同的窗口过程,例如windows中所有的按钮都是基于相同的窗口类
相关文章推荐
- WINDOWS核心编程学习心得--线程调度
- Windows学习心得【对话框2】
- Objective C 学习心得 (一):--Windows下搭建objective C开发环境
- Windows学习心得【子窗口】
- Network Programming for Microsoft Windows 2nd(Windows 网络编程第二版) 学习心得
- Windows学习心得【模拟时钟】
- redis学习心得 -- windows 下安装 redis
- windows类书的学习心得(zz)
- Windows学习心得【静态类】
- Linux下装载windows分区学习心得
- Windows学习心得【数字时钟】
- windows类书的学习心得
- Windows注册文件类型信息的学习心得
- Windows学习心得【计时器2】
- Windows学习心得【菜单的实现】
- Windows学习心得【弹出式菜单的实现】
- Windows学习心得【程序中的击中测试】
- Windows学习心得【对话框】
- Windows学习心得【按钮类】
- Windows学习心得【自定义光标】