window核心编程小记一

本来写记记c/c++基础方面的,比如说指针、数组等等,但是考虑到什么东西都是归根于应用,所以以后对于c/c++应用方面的还是多记,至于基础方面的感觉还是先去看那些经典大作,比如《c++ primer》、《thinking in c++》之类的。因此以后该为c应用方面的。

 

windows 核心编程(版本4)

前言

关于本书,废话少讲,若是想win中有所成就,本书绝对不能错过,当然你也可以去研读msdn,至于作者是谁我们不用于管那么多,如果你真的对他有兴趣的话,那你还可以去读读jeff的其他书,类似《框架设计》。

 

第一章 对程序错误处理

首先需要了解函数执行错误是如何体现的?体现的途径?好的,函数执行错误很重要的一个体现就是返回值,因此,首先需要了解函数返回值的具体含义,返回值的含义等。大概有

1.VOID   表示函数的运行不可能失败,这句话有待考究。

2.BOOL  这个BOOL有个陷阱,其实它需要表示的意思实际上是0(失败) or !0。

3.HANDLE 句柄,一般内核对象相关的函数都会涉及到,用于表示一个对象,失败时通常NULL值,也可能是<0,其实即使失败时,即使handle <=0。

4.PVOID 指针,为NULL表示失败,否则返回内存地址。

5.LONG / DOWRD 稍微复杂,具体参考msdn;

 

对于已经执行失败的函数,如何获取函数失败原因?GetLastError()可以帮助你,但是此函数执行机制才是你需要了解的重点,函数执行后,需要立马调用此函数,否则获取到的error_no可能就不准了,具体参考书。

关于error_no的解释都可以从WinError.h中找到,ms也提供了另外更快捷的tools->error lookup。

另外,ms也提供了通过error_no转换成相应信息的函数FormatMessage。为什么ms不适用列表方式管理错误信息呢?

当然,也可以自己定制错误信息,通过调用SetLastError实现。其实微软这种错误处理的方法在自己系统的设计时候可以采用类似的方法。

 

第二章 Unicode

本章直接就用unicode作了章名,当然整章都是围绕unicode展开的,比如ansi如何的不好,如何的不安全之类的,而unicode又如何的好如何的安全的之类的,个人感觉是设计所需即可。

关于字符方面的东西,感觉想要深入了解,直接google、百度(个人比较hate it)等。

需要了解ansi与Unicode的差异,字符集出现的原因等。

接着即转入字符相关的函数,strlen、strstr、strcpy当然相应的有wcscat、wcslen等以及相应的变体函数,可以参考msdn。

关于UNICODE & _UNICODE ,关于unicode与ansi的转换,通过宏实现。

_TEXT宏,以及宽字符的定义。另外windows字符串函数(unicode),比如lstrcat,lstrcmp等。关于字符串比较函数CompareString的具体意义是使用。

重点是学到如何通过宏来实现转换,更何况windows就是这样实现的,而至于那一堆函数,完全可以投靠与msdn,不过尽量做到其所以然路径上的扩展。

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值