Recent Posts

Go 语言里的单元测试覆盖率

Go 语言的项目里,单元测试一般这样写:

func Test_Xxx(t *testing.T) {
    if err := Xxx(); err != nil {
        t.Errorf("bad")
    } else {
        t.Logf("ok")
    }
}

输入命令 go test -v 运行测试,并观察结果。

PASS …

Go 语言里 defer, panic 和 named return values

Go 语言里,函数过程中通过 defer 注册的回调,会在函数结束前、按 LIFO 的顺序调用执行。有名返回值(named return value)在编程时,恰当的变量 …

Go 语言里的 slice 切片

变量的 pass-by-value

Go 语言里的切片 slice,主要是针对数组类型不够灵活的问题。比如,a [50]intb [80]int 是不同的类型,但同一个 slice s []int …

Golang 里的 range 问题

Golang 类似于 C/C++,同时又从其他语言(比如 Python)里借鉴了一些语法,比如 range。

在使用上,range 有一些特性,如果不注意的话,很容易引起 …

Zynq USB Drive Issue

※ 问题

Zynq 开发板,操作系统有时无法识别到优盘。

※ 调试

检查 Linux 里的 USB 驱动及配置。对比 Xilinx 的参考文档和示例,调试用的 kernel config、device …

Using env in the Shebang of a Python Script

在 Linux 里,通常会在 script 的最开始,加上一行称为 sha-bang 的内容,用来指定运行当前 script 的解释器程序以及参数。

通常,Python 程序总以这样 …

Zynqmp Linux Freezes When Loaded via JTAG

0x0 问题

连接 JTAG 调试 Xilinx 板子的时候,板子上的 Linux 系统有时会挂住,失去响应。

对于这个问题,这里是一些有用的链接:

  • Petalinux on Ultrascale+ freezes …

中文技术文档的写作规范

这里是一份开源的《中文技术文档的写作规范》, https://github.com/ruanyf/document-style-guide

这份写作规范,对文档的标题、文本、段落、数值甚至标点符号,都给 …

Vim 里的特殊字符处理

问题

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

处理办法

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

gettid() 编译问题

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

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

NOTES
    Glibc does not …