Recent Posts

Vim 里的特殊字符处理

问题

在处理某个文件时,发现里面有一些类似 <200b> 这样的特殊字符,需要清理掉。

处理办法

经过搜索,在 Vim 里处理这些特殊字 …

gettid() 编译问题

代码里用到的 gettid(),编译时有报错,说找不到对应的头文件。

根据 man gettid 里的说法,libc 并没有提供这个系统调用的包装:

NOTES
    Glibc does not …

.NET Framework 3.5 installation error

安装某软件时,它提示有对 .NET 3.5 的依赖,因为本地没有安装对应的版本。但 Windows 在自动安装 .NET 3.5 失败了,返回了错误号:0x800F081F …

Pelican 编译问题

今天遇到了一个问题:重新编译 pelican 项目时,发现编译生成的 articles 数量要比正常的少很多,而且没有任何出错信息。

经过研究,找 …

使用 Kill 发信号时误杀进程的问题

程序里会使用 Kill 发送 SIGTERM 信号,要求某进程组结束:

kill -15 -<pgid>

实际运行时发现一个问题,除了这个目标进程组之外,有时候其他 …

vim 里打开 file:line

0x00

Linux 里,很多工具都会按文件加行号file:line)的格式输出,比如 grep

$ grep -nr "Sanitize in progress..."
drivers/mmc/core/mmc_ops.c:1008:     pr_debug("%s: Sanitize in progress...\n", mmc_hostname(host));

又比如 Linux 动态 …

Using RCS Keywords in Perforce

使用 svn 时,有时会把版本管理系统的信息嵌入到代码里,比如版本号、最近修改时间,等等。在软件调试时,这会很有帮助。因为 …

混用不同版本的 libc 造成程序崩溃

程序发生崩溃,调试器提示崩溃发生在 libc 的 free() 函数里面:

Debug Assertion Failed: _CrtIsValidHeapPointer(pUserData)

初步判断,可能是堆(Heap)被写坏了。

于是修改代码,在程序 …

Highlight All Occurrences of Selected Word

在选中某个单词(比如变量、函数、自定义类型,等等)时,如果能把屏幕上所有出现这个单词的地方,都高亮显示出来,对于程序 …

Remove Trailing Whitespace in Visual Studio

编程习惯里通常会建议删除行尾的空格。在 Visual Studio 里,可以通过 Ctrl+K, Ctrl+\ 的按键操作来实现。

不过每次通过手动的方式,未免有 …