• VSCode调试C语言程序

    在研究一段算法时,看不懂代码如何运行的,遂尝试搭建一个简单的调试环境,单步调试观察程序运行情况和变量改变情况。

  • C语言指针退化问题

    数组指针考虑以下的代码。 12345678#include<stdio.h>int main(){ char a[] = {'h', 'e', 'l', 'l', 'o','\n'}; printf("%d\n...
  • 编译器组成编译器由前端、中间代码优化、后端三部分组成。前端负责识别代码语法,将代码转化成中间代码。中间代码优化一定程度上和语言无关,进行优化后将中间代码传给后端。后端负责将中间代码转化成目标平台的可执行代码。 LLVM
  • 压缩算法

    压缩算法基础一堆数据相当于一块海绵,可以通过压缩算法来压缩其体积,但是最终不能够无限制的进行压缩,最多把海绵中的空气挤出来不能够把海绵本身完全挤没。 无损压缩算法无损压缩算法可以保证数据不被丢失。 常见的无损压缩算法有哈夫曼编码、字典编码、预测编码 有损压缩算法顾名思义,这种算法会导致数据部分损失,适用于媒体传输,对数据的完整性要求不高的场景。 常见的有损压缩算法有转换编码、量化、基于模型的...
  • RUST语言学习

    一、Rust环境搭建这里介绍简单的Linux下Rust环境搭建,可以使用Windows或者Linux。 Rust有一个官方的工具来管理Rust的安装和更新,可以直接下载使用脚本一键安装。 1curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh 在安装过程中直接按y同意继续安装即可。 在安装的最后会要...
  • stm32启动流程

    学习STM32底层,对STM32的启动流程比较感兴趣,在这里给出STM32上电之后会做的事情。

  • 一、Linux中的用户管理Linux是一个多用户多任务的分时操作系统,使用操作系统必须有一个用户,使用时以用户的身份进入系统。 二、Linux的用户权限Linux中三种用户权限。 root管理员用户, 普通用户, root管理员用户具有系统的最高权限,可以访问和修改系统的所有文件和资源。一般不以root用户登录,而是使用sudo提供临时的管理员权限。 普通用户每一个普通用户都有自己的用户...
123458