标准IO简介

IO简单来说就是数据在输入设备,内存,硬盘,输出设备之间移动的过程。

对于C语言,它实现了许多不相关的函数来实现这些过程。例如printf就是让数据从内存到显示屏(输出设备);scanf就是让数据从键盘(输入设备)到内存。此外还有从内存到磁盘的文件操作等。这些函数彼此不相关。

而C++有了继承功能,可以让子类与父类间有关联性,极大的提高各种IO功能之间的耦合性。

于是C++用继承功能重写了IO,这就是IO库。IO库引入了“流”的概念,数据从一个地方流到另一个地方,原本地方的数据就无了,叫做流很贴切。

更多内容详见Part6:IO库,这里简单介绍一下怎么进行输入输出。

阅读全文 »

名称空间

C++经常需要多个团队合作完成大型项目,多个团队就常常出现起名重复的问题,而名称空间就是用来处理不同代码段之间的名称冲突问题。

阅读全文 »

VLD的安装

在网上下载好VLD的库后,准备在VS2022上使用它:

  1. 把VLD的include目录给加入到VS中。这里打开想要使用VLD的项目的属性页,在VC++的包含目录中添加对应的include目录:

  2. 引入VLD的静态库(lib),还是在属性页中,先添加VLD的lib路径至VC++库目录;再将对应的lib文件名添加到链接器->输入->附加依赖项中(记得32位跟64位分开配置):

  3. 引入VLD的动态库(dll),直接在项目所在文件夹中把他们扔进去就好:

  4. 在main.cpp中,首先包含vld.h头文件,即可使用。

VLD的使用

待补充…

使用时碰到的问题

  1. Call Stack 无输出:

    请保持路径是 全英文 的,并且在vld.ini中,将ReportEncoding由ascii改为unicode.

boost库简介

Boost是一个功能强大,构造精良,跨平台的C++程序库,内容涵盖很多领域,C++11标准库中三分之二就来自它,是C++的“准”标准库。

boost的安装和编译

安装boost

进入Boost 官网,选择想要下载的版本,下载即可(windows平台是zip包,unix平台是tar包)。

以windows平台为例,解压后的boost库如图:

编译boost

以管理员身份运行VS2022提供的命令行工具,进入到上边的目录中:

执行bootstrap.bat,执行完后,会发现多了个b2.exe。接下来,利用此工具进行boost库的编译:

# 64位
b2.exe install --prefix="D:\CppLibs\Boost\x64" --build-type=complete --toolset=msvc-14.3 threading=multi --build-type=complete address-model=64

# 32位
b2.exe install --prefix="D:\CppLibs\Boost\x86" --build-type=complete --toolset=msvc-14.3 threading=multi --build-type=complete address-model=32

其中,--prefix表示安装位置;--build-type表示要安装那些库,这里都安装了;--toolset=msvc-14.3表示使用微软的MSVC编译器编译,查看编译器版本可以到VS2022中查看:

全部弄好可能要三四十多分钟。

使用boost

接下来,在项目的属性页中引入boost库就行了(VC++目录的包含目录和库目录):

0%