红米Note 11 Pro待机耗电实测

如今,许多国产安卓手机,如红米Note 11 Pro(5160mAh)、华为P50(4100mAh)、Oppo Reno 7(4500mAh)都配备了容量较大的电池,但却少有在规格参数中明示实际续航时长。本文对一台实际使用中的红米Note 11 Pro手机进行了待机状态耗电速率的实测,由此可以反映出该款手机的实际待机续航。 ...

2022年3月27日 · 桃又

排查Windows文件资源管理器右键崩溃问题

Windows的文件资源管理器具有强大的扩展功能,第三方软件可通过其提供的强大接口来扩展文件资源管理器的功能,例如:增加自定义的右键菜单项、自定义的文件属性页等等。但是,如果第三方软件存在某些某些程序错误,则可能导致文件资源管理器崩溃。例如,安装了某些第三方软件后,可能导致右键单击某个文件的时候文件资源管理器崩溃。对于文件资源管理器在每次进行某种操作时就必然崩溃的问题,使用本文的方法可以进行排查并排除问题。 ...

2022年3月2日 · 桃又

在CMake与Conan中使用MSYS2 MinGW x64工具链编译Windows程序

GCC(GNU Compiler Collection)是一套功能强大的编译器集合,支持C、C++、Fortran等编程语言,是Linux上应用十分广泛的一款编译器。MinGW(Minimalist GNU for Windows)将GNU工具链移植到了Windows环境,可用于编译原生的Windows应用程序。MinGW包含了GCC编译器的Windows移植版本以及用于Windows平台的链接器、汇编器等工具。但是,原始版本的MinGW只能用于编译32位程序,不支持64位程序的编译。 ...

2021年12月5日 · 桃又

map::emplace不总是比map::insert快

自C++11起,标准库中的许多集合类型提供了emplace函数,可以在集合内直接创建新元素,而不需要将现有元素复制或移动到集合内。在很多情况下,使用emplace函数能够减少复制或移动构造函数的开销,能提供比insert、push等函数更高的性能。但对于std::map和std::unordered_map而言,在某些情况下insert可能比emplace更快。 ...

2021年9月5日 · 桃又

nslookup与Resolve-DnsName的行为差异

在Windows操作系统上,nslookup命令和PowerShell上的Resolve-DnsName cmdlet都可以用于解析域名,但它们的功能并非完全相同。有时候,nslookup命令能够解析域名,Resolve-DnsName cmdlet却不能。甚至于明明用nslookup能够解析域名,浏览器却不能上网,系统也报告无法连接到域控制器。 ...

2021年7月12日 · 桃又

配置libvirt在关机时自动休眠虚拟机

Ubuntu 20.04系统安装libvirt-daemon-system后,宿主机关机时会自动关闭所有的虚拟机。通过修改配置文件/etc/default/libvirt-guests,可以调整该行为(如将关机改为休眠、调整超时时间、允许并行关机等)。 ...

2021年6月11日 · 桃又

在Visual C++中使用UTF-8格式代码文件

Visual C++(Visual Studio中的C++编译器)工程中的代码文件默认使用ANSI编码,这样容易导致以下问题: 在其他语言的环境中编辑、生成工程时可能会出现乱码,因为ANSI的具体编码取决于系统设置; 在引用第三方库(通常是UTF-8格式)的头文件时,不能正确解析文件中的非ASCII字符。 要在Visual C++的工程中使用UTF-8编码,需要实现两个目标: 让Visual Studio以UTF-8编码保存代码文件; 让编译器以UTF-8编码编译代码文件。 ...

2021年4月25日 · 桃又

C++记录程序运行时间(跨平台)

要使用标准C++实现计时功能,可以使用C++ 11中的<chrono>头文件或者使用C风格的<ctime>头文件。 ...

2021年3月10日 · 桃又

.NET类库打包如何加入XML文档

.NET类库在打包为NuGet包的时候,如果需要加入XML文档,则需要在生成时启用XML文档文件的输出。生成时输出的XML文档文件在打包时会自动被包含在NuGet包中,无需另行将其包含到项目中。 要在生成时输出XML文档文件,只需在项目文件(.csproj)中的<PropertyGroup>节点内插入如下内容即可: <GenerateDocumentationFile>true</GenerateDocumentationFile>

2021年2月19日 · 桃又

C++默认初始化与值初始化

在C++语言中,默认初始化和值初始化这两种变量初始化方式都可以调用类型的默认构造函数。它们的形式非常相似,大部分情况下作用相同,但它们之间存在容易忽视的微小差别。 ...

2021年1月25日 · 桃又