![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Windows核心编程学习笔记
文章平均质量分 83
米兰君
忙碌的学生党和编程爱好者一枚,接下来的一切由你去猜。
展开
-
[干货]Windows核心编程学习笔记(7)初识新的安全字符串函数
在本节内容开始之前,首先谈一下我的本节内容的心得,由于学业问题,所以这几周比较繁忙,这一节的难度也比较高,主要体现在涉及了很多领域和术语。其实作者也不应该把本章的字符和字符串处理的内容放在前面,虽然作者是为了强调突出Unicode字符集在Windows中的重要地位,并且的确本章也是围绕此中心展开的,但对于一些Windows编程和API基础比较陌生的朋友,还是有一定鸿沟的。米兰君在研读本节内容是也存在一些问题,其实这些疑问在对后面的章节展开阅读时就会茅塞顿开。所以在本节开始前,为了方便某些朋友更好的理解本节内原创 2021-04-17 12:18:01 · 389 阅读 · 0 评论 -
Windows核心编程学习笔记(6)导入:C运行库中的安全字符串函数
C运行库长期支持一系列字符串处理函数,以方便开发人员对字符串进行读写修改。现在这些函数依然可用,且为我们熟知,如strcat函数和strlen函数等。包括C运行库支持的所有有效的字符串处理函数中,只要是字符串写入函数,特别是长期存在的某些老版本函数,如果没有在实际写入前目标缓冲区的容量进行识别和判断,就很容易发生溢出错误。这将导致内存数据损坏。更糟糕的是,因为没有事先检查目标缓冲区的可容值,当函数发生错误时,并不会向系统汇报错误信息并上存错误日志,因为函数本身没有错误检测机制,当函数发生内部错误时用户对错误原创 2021-02-20 07:54:29 · 276 阅读 · 0 评论 -
Windows核心编程学习笔记(5) C运行库中的Unicode函数和ANSI函数
大家好,我是米兰,一个五年级开始编程的小伙。我曾经研究过各种技术,在代码底层摸爬打滚,经历过无数次从入门到放弃的生活,感受过黑暗与毒打。如果你也有相同的经历和探究的问题,欢迎关注我,咱们共同探究,共同进步。...原创 2021-02-11 22:09:51 · 284 阅读 · 0 评论 -
[精]Windows核心编程学习笔记(4) Windows中的Unicode函数和ANSI函数
大家好,我是米兰,一个五年级开始编程的小伙。我曾经研究过各种技术,在代码底层摸爬打滚,经历过无数次从入门到放弃的生活,感受过黑暗与毒打。如果你也有相同的经历和探究的问题,欢迎关注我,咱们共同探究,共同进步。...原创 2021-02-08 16:15:24 · 393 阅读 · 0 评论 -
Windows核心编程学习笔记(3) ANSI字符和Unicode字符与字符串数据类型
当我们使用C语言编写程序时,若要处理字符或字符串,通常要声明一个char类型的常量或变量。众所周知,C语言用char类型来表示一个8位的ANSI字符,当我们声明一个字符串时编译器会把字符串转换为一个char类型的数组,下面是一个例子:char a=‘A’; //声明单个字符char strBufer[100]= ”Hello, world !"//声明一个字符串上期我们谈到过Unicode字符,若要将字符或字将串声明为Unicode类型(UTF -16),可以使用Microsoft C/C++编译器内原创 2021-02-05 13:00:57 · 234 阅读 · 1 评论 -
Windows核心编程学习笔记(2)字符编码
多年来,我们一直将文本字符串编写为一组以0结尾的单字节字符集合,与之相对应的处理函数也为我们熟知。但是一个字节最多能表示出256个符号,以汉字为例 这是不够用的(汉字通常单个占用2个字节的空间),这意味系统在读取前一个字节时,得到的是这个汉字的一部分,这是十分麻烦的,为此,我们可以使用Windows函数和C运行库对Unicode字符串的支持。 在Windows Vista每个Unicode字符都使用UTF-16编码,UTF-16将每个字符编码为2个字节(16位),对于16位仍不足以表示某些语言的所有字符,U原创 2021-02-03 19:33:29 · 131 阅读 · 0 评论 -
Windows核心编程学习笔记(1)错误处理
在内部,当Windows函数检测到错误的发生时,会使用一种名为"线程本地存储区"的机制将相应的错误代码与"主调线程"(即发生调用该函数操作的线程)关联在一起,使不同的线程独立运行,不会出现互相干扰错误代码的情况。下面列举错误的三种表示:1.一个消息ID(一个可在源代码直接使用的宏名,用于与GetLastError()返回值比较)2.消息文本(描述错误内容的英文文本)3.编号(个人理解为宏的具体值,在代码中最好不要直接出现,否则增加代码阅读理解的难度,不利于开发进行)当函数发生各种不同的错误时,为了使原创 2021-01-30 11:59:50 · 172 阅读 · 0 评论