两数之和

题目描述

给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值 两个 整数,并返回他们的数组下标。

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。

阅读更多

嵌入式设备 gdbserver 可视化调试

技术背景

嵌入式设备资源相对较少,为了节省存储空间一般会对应用程序做 strip 操作。应用程序被 strip 后,符号表会被删除,导致 gdb 调试捕捉不到关键信息。选择 gdbserver 远程调试是一个不错的方案。

阅读更多

ssh 远程连接 NAT 的 VirtualBox 虚拟机

写在前面

开发过程经常用到 Linux 环境,由于 WSL 不支持嵌入式交叉编译,对于嵌入式交叉编译任务我选择的是 VirtualBox 虚拟机。虚拟机有几种常见的网络类型:NAT,Host-Only 和 Bridge。

阅读更多

Linux Shell 变量参数扩展教程

shell参数扩展说明

shell 参数扩展格式:

1
${expression}

expression 表达式可以为任意的字符,直到匹配到 ‘}’ 为止,因此表达式包含 ‘}’ 的话需要用转义或者用单引号包含起来。

阅读更多

Linux awk 命令入门教程

printf 格式化输出

awk 的格式化输出,和 C 语言的 printf 没什么区别。让我们来看一下以下的格式化输出示例:

1
2
3
4
5
6
7
8
9
10
输入:echo 123.4567 | awk '{printf "%.3f\n", $1}'
输出:123.457

# 不满8字符向左填充空格,并且只保留一位小数
输入:echo 123.4567 | awk '{printf "%8.1f\n", $1}'
输出: 123.5

# 第一个元素不满20字符向右填充空格,并且保留七位小数;第二个元素以整形输出
输入:echo 123.4567 55.2 | awk '{printf "%-20.7f %d\n" , $1 , $2}'
输出:123.4567000 55
阅读更多

数据加密标准-DES

DES 加密概述

数据加密标准(Data Encryption Standard,缩写为 DES)是由国家标准局(NIST)出版的对称密钥分组密码(块密码)。

对于任何加密体制,总有明文密钥两个输入。DES 是费斯妥密码(Feistel Cipher)的一种实现,进行 16 轮迭代,其明文长度为 64 bit,密钥长度也是 64 bit(但只有 56 bit 被实际用于算法,其余 8 bit 可以被用于奇偶校验,并在算法中被丢弃)。

阅读更多

VSCode配置

写在前面

工欲善其事,必先利其器。好的开发工具,能大大地提高开发的效率。以前一直使用 VIM 写代码,用 Source Insight 看代码,后来在朋友的推荐下切换到 VSCode,使用了一段时间,发现 VSCode 真的超级强大好用,而且是开源的,不得不让人青睐。写篇文章记录一下 VSCode 的配置以及插件,以便后续重新搭建环境可以作为参考。

阅读更多