0%

众所周知,CPU 不能直接和硬盘进行交互。CPU 所作的一切运算,都是通过 CPU 缓存间接与内存进行操作的。若是 CPU 请求的内存数据在物理内存中不存在,那么 CPU 就会报告「缺页错误(Page Fault)」,提示内核。

在内核处理缺页错误时,就有可能进行磁盘的读写操作。这样的操作,相对 CPU 的处理是非常缓慢的。因此,发生大量的缺页错误,势必会对程序的性能造成很大影响。因此,在对性能要求很高的环境下,应当尽可能避免这种情况。

此篇介绍缺页错误本身,并结合一个实际示例作出一些实践分析。这里主要在 Linux 的场景下做讨论;其他现代操作系统,基本也是类似的。

阅读全文 »

网上有一个流传多年的段子。这个段子大致是说,若你在简体中文版本的 Windows 系统下,用系统自带的记事本程序,以默认的 ANSI 编码保存「联通」两个字,那么重新打开后「联通」二字就消失了。如果我没记错的话,还曾有好事者据此编排,认定 Windows 背后的微软和联通有仇,故意不让联通二字正常显示。

当然,这个说法肯定是假的。但是这一现象背后的原因究竟是什么呢?实际上,网络上也有不少文章专门解释了这个问题。虽然以我的经验,能够看懂。但是若是「三秒变小白」,这些文章就不令人满意了。这是此文的缘由。

阅读全文 »

在最初学习 LaTeX 插图的时候,我就发现,基本的 LaTeX 手段不支持 GIF 格式的动图。虽然一直保持对此的好奇,但是因为没有实际需要,再加上「论文等文稿不适合插入动画」的论调,所以一直没有去探究可行性和解决办法。

前段时间,因为制作一个幻灯片(离散卷积和卷积神经网络)的需要,不得不插入动画以演示「卷积」的过程和效果。于是就借此机会,摸索了如何在 LaTeX 中插入动画。此文是对上述过程的归纳总结。

本文主要介绍两部分内容

  • 如何在 LaTeX 中插入 GIF 格式的动图;
  • 如何在 LaTeX 中插入 TikZ 代码绘制的动画。

以及介绍一些运用动画效果实现的黑科技效果。

阅读全文 »

这是系列文章的第三篇,参见系列中的相关内容。

这篇文章介绍如何利用 PIL 库,获取图像中的像素内容、修改后生成新的图像。此外,在修改的过程中,我们会引入卷积滤镜,进而引出 PIL 中的图像滤镜库 ImageFilter

阅读全文 »

昨天在网上看到,C++ 至今为止没有官方实现的字符串分割函数。相比 Python、Java 等语言,多少是有些不便的。

这里我们来在 C++ 中实现字符串分割函数。

阅读全文 »