自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 Go使用Goland的go build的配置

Go语言环境设置

2021-11-16 20:44:04 8058 1

原创 windows核心编程2-------进程

1.进程: 进程是一个正在运行的程序的实例,由两部分组成:一个是操作系统用来管理进程的内核对象,一个是地址空间,包含所有可执行模块或dll模块的代码和数据,还包含动态分配的内存空间,如线程堆栈和堆。 进程是不活跃的,必须由线程来执行进程空间地址中的代码,每个线程都有它自己的一组CPU寄存器和自己的堆栈,每个进程至少有一个线程,如果没有线程执行进程空间地址的代码,进程就没有存在的意义了,系统会回收没有现成的进程。2.windows应用程序和main函数: wi...

2020-06-29 16:50:30 171

原创 windows核心编程1-------内核对象

1.什么是内核对象: 首先是一个对象,比如时间对象,文件对象,作业对象,信箱对象,互斥对象,管道对象,进程对象等等,用于地城处理逻辑的对象,而内核对象只能呗内核访问,应用程序不能直接改变他们的内容,但是windows给我们提供了一组函数,以便我们使用方法进行操作,一般都是先调用Create函数,返回句柄,句柄是一个不透明值。2.内核对象的使用计数: 有点类似智能指针shareptr,内核对象是内核所拥有,不是由进程拥有,进程创建内核对象,终止进程,内核对象不一定销毁,...

2020-06-28 16:25:12 234

原创 C++深入理解(14)------智能指针(读书笔记)

这里只是介绍智能用法和注意事项,简单介绍其原理,如果想深入了解其实现的同学可以绕道。为什么用智能指针:在编写服务器代码的时候,经常会出现new对象的情况,比如游戏服务器中,一个新玩家上线了,需要new player,放到mapAllPlayer中,直到玩家下线才能删除。但是在玩家下线时,可能调用了map.erese(),忘记delete指针,或者都忘记了,就会造成内存泄漏,也就是内存不断疯长,...

2019-02-13 16:17:28 390 1

原创 C++深入理解(13)------string类(读书笔记)

1.string类:        一直都在用string类,但是却没系统的了解,下面就系统介绍一下。        string的构造函数,目前存在7中,其中后两种是C++11新增的。如下图:       下面用代码分别举例:#include <iostream>#include <string>using namespace std;int ma...

2019-02-13 11:41:32 98

原创 C++深入理解(12)------异常详解(读书笔记)

        很早就知道异常机制了,通过try、catch块可以截获到常常造成系统崩溃等的异常。这样就可以防止服务器崩溃等问题。但是我们平常也只是简单的使用,并未了解其内部的原理。恰好看到这里,将心得记录下来。      最简单的用法就是:try{}catch(...){}        catch(...)表示可以截获任何异常,只要try中有奔溃的错误等,如数组越界就...

2019-02-12 17:08:54 96

原创 C++深入理解(11)------关于static_cast,dynamic_cast,const_cast,reinterpret_cast(读书笔记)

        C语言规定了很多的隐式转化,如将int转为double等,但是隐式转化时长会造成一些问题,所以在C++中定义了四种规范转换方式,来规范转化。下面依次讲述下每个转化的用法:        dynamic_cast:智能用于将派生类指针转化为基类指针,否则就会赋空值。这种转化只能用于is-a类型的转化,用法如下: BaseClass *pBase = dynamic_cast&l...

2018-05-11 09:42:03 2310

原创 C++深入理解(10)------友元详解(读书笔记)

        友元:友元类的所有函数都可以访问原始类的私有成员和保护成员,有时认为是一种不好的操作,但是可以做一些严格的限定,只将特定的函数作为另一个类的友元(朋友)。可以提高公共接口的灵活性。        比如下面的两个类电视机Tv和遥控器Remote类,两个类并不存在包含和继承关系,当然一种更高明的方法是把电视机和遥控器都当做组件,组成电视系统,这样两者就有关系了。但是这里不考虑这种方式,...

2018-05-10 19:54:55 138

原创 C++深入理解(9)------类模板的详述(读书笔记)

        前面已经说过函数模板的相关知识点,模板作为C++重要的知识点,不仅仅可以在函数中使用,在类中依然是可以使用的,而且我们熟悉的stack,map等都是模板实现的类,虽然平时用的时候比较少,但是还是很有必要了解其根本原理的。        模板的概念大家肯定都比较熟了,有时常常遇到这样的问题,我们完成了一个类的设计,其内部能将int转化为一个字符串,但是突然遇到一个需求,希望将一个lo...

2018-05-08 16:04:12 137

原创 C++深入理解(8)------类继承的详述(读书笔记)

1.基本概述:        首先说下总体的规则,相当于重点:派生类可以经过继承后,拥有基类的所有数据成员和部分函数(不包括构造函数,赋值运算符和友元函数),但是拥有了,却不一定能使用,这里并不区分私有继承还是公共继承,都是只能访问基类中public和protected的成员。也就是说可不可以访问,要看基类的中成员变量是否可以被访问(public和protected),而不是看继承之后属性是否可以...

2018-05-08 14:58:15 101

原创 C++深入理解(7)------类和动态分配内存(读书笔记)

    在类内给成员变量分配内存使用new和delete中最常遇到的问题就是内存泄漏,造成这样的原因往往是不对应,而且对C++的构造函数和析构函数不是很了解。C++会默认提供下面的函数:    • 默认构造函数,如果没有定义构造函数:    • 默认析构函数,如果没有定义;    • 复制构造函数,如果没有定义;    • 赋值运算符,如果没有定义:    • 地址运算符,如果没有定义...

2018-04-01 12:02:26 111

原创 C++深入理解(6)------类容易被忽略的小知识点(读书笔记)

    相信大家都能比较熟练的使用C++的类了,但是在使用类的时候往往只用到其基本的使用规则,而很多小的细节却极容易被大家忽略,下面将这些小的知识点列出,提醒自己平时应用时要注意细节:1.类内的内联方法:    在类声明中定义的函数都是类的内联函数,根据C++的唯一性原则,函数是不能被定义为两次的,如果两个文件中都同时包含类声明的头文件,除了内联函数(拥有内部链接性,也就是说只对包含他的文...

2018-03-10 15:37:53 227

原创 C++深入理解(5)------静态持续变量(读书笔记)

    C++为静态持续变量提供了三种连接性:外部链接性(可在不同文件中访问)、内部连接性(只能在当前文档中使用)、无连接性。下面介绍什么是静态变量:静态变量就是在整个程序持续中都是存在的,在整个过程中静态变量的数量都是不变的,程序并不需要特殊的装置(栈)来管理他,而是在程序的一开始就申请内存。所以也可以叫做静态持续变量。    简单说下怎么创建三种不同链接性的变量:1、外部链接性:需要在代码...

2018-03-10 10:21:08 188

原创 C++深入理解(4)------函数模板以及显式具体化(读书笔记)

    在编程的过程中虽然很少使用到函数模板,但是在底层代码的编写中却有时会用到,下面将详细介绍一下函数模板:    函数模板是一种应用泛型的一种方式,可以定义一个函数,函数的参数和返回值都是可以根据模板而变动的,不用定义多个重载函数来实现因为参数不同而功能相同的问题。    如下面的交换函数,void swap(int &a,int &b){}; 有时候我们会用到int类...

2018-02-26 14:57:19 438

原创 C++深入理解(3)------函数指针(读书笔记)

    本节将记录函数指针,也就是指向函数的指针的大致用法,函数指针用处最多的要数回调函数,当然也有其他的用途。    在编译为二进制文件后,将代码存储在内存中,所以对应的函数也有自己的地址,也就可以使用指针来操作它!!    下面将讲解使用函数指针的具体操作:    首先需要声明一个函数指针---标准原型是:double (*p) (int )。然后就可以赋值了。如下代码dou...

2018-02-25 17:30:09 179

原创 C++深入理解(2)------新变量的认识

    C++11增加了两个新的变量用来处理字符串,分别是char_16和char_32,两者都是无符号的字符型,但是在赋值的时候必须使用特殊的表示,char_16是用u'c'中的u做标识,而char_32使用U作为标识。    const的修饰变量的一般约定:使用const定义的变量,如const int Month=20;其中的Month为了加以区分,一般都是使用手写大写字母,或者以k打头...

2018-02-11 09:54:37 189

原创 C++深入理解(1)------计算机编译过程

    这是第二遍读C++ Primer Plus这本书,对C++的认识有了进一步的了解,关于计算机对代码的编译过程有了进一步的了解,这里写出来作为自己的笔记。    代码的编译过程大致分为以下几个步骤:预处理-编译-链接-生成。    说下对这句话总得理解:在编写代码时,总会有.h和.c文件,实际上编译的过程是将.c文件转化为目标文件(计算机可以识别的文件,一般都以.o文件作为后缀),进...

2018-02-10 10:52:52 448

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除