特色文章

实用Linux命令记录

Emacs Vim快捷键说明

# 当前文件夹内文件(夹)占用空间按从大到小排序
du -sh * | sort -hr

# 每10秒统计一次当前目录占用空间
while true; do du -sh .; sleep 10; done
# 或者
watch -n 10 du -sh .

# 生成随机字符串
head -c 32 /dev/random | base64

# 统计当前文件夹下文件数量 包括子文件夹
ls -lR | grep "^-" | wc -l

# 统计当前文件夹下文件夹数量 包括子文件夹
ls -lR | grep "^d" | wc -l

# mysqldump导出数据,每行独立insert
mysqldump -u xxx -p xxx $db $table -qc --extended-insert=FALSE --skip-comments

C/C++ key-value string parsing with strsep

#include <stdio.h>
#include <string.h>

void parse_key_value(char* str) {
    while (char* value = strsep(&str, "&")) {
        char* key = strsep(&value, "=");
        if (key != NULL && value != NULL) {
            printf("key %s value %s\r\n", key, value);
        }
    }
}

int main() {
    char stra[] = "&asd23&sd=900&c=0&";
    printf("%s\r\n", stra);
    parse_key_value(stra);
    
    char strb[] = "asd=23";
    printf("%s\r\n", strb);
    parse_key_value(strb);
    
    return 0;
}
output:
&asd23&sd=900&c=0&
key sd value 900
key c value 0
asd=23
key asd value 23

Keil-MDK编译完成后自动烧写下载

大多数人使用Keil调试程序都是先点编译工程(Build),然后等编译成功后再点下载(Download)或者调试(Debug)。Keil本身可以选择编译完成后自动开启调试,但是如果不想开启调试而是直接下载固件并运行就不行了,Keil并未直接提供该选项,还是要去点一下下载(Download)。这样对于我们这些“效率控“来说简直难以忍受!

继续阅读