liuqinh2s' blog

Do something cool!


  • 首页

  • 关于

  • 标签

  • 归档

  • 搜索

《CSAPP》 -- 程序的机器级表示

发表于 2018-10-08 | 更新于: 2025-01-03
字数统计: 6,290

从编译 C 语言文件说起

1
$ gcc -01 -o p p1.c p2.c

使用了 gcc 命令来编译,也可以简单写作:cc。

优化层级为 1,1 级是最低的,层级越高程序优化越好,但增加了编译时间,也使调试变得更难,且跟源程序差异很大不便于理解。

编译的流程是:

  1. 预处理器(preprocessor)把诸如:#include、#define、#if、#else、#elif、#ifdef、#endif等预编译指令替换掉。
  2. 编译器(compiler)把.c源文件编译成.s的汇编代码文件。
  3. 汇编器(assembler)把汇编代码文件转换成相应的二进制目标文件.o,目标文件已经是机器码了,只是没有填入全局变量的地址。
  4. 链接器(linker),把多目标文件和库函数链接在一起,形成可执行文件。
阅读全文 »

浮点数原理

发表于 2018-09-27 | 更新于: 2025-01-03
字数统计: 3,472

浮点数的作用:区别于整形数,用来表示小数。可以用来表示很大的数,或者非常接近 0 的小数,或者近似的做实数计算,浮点数的一般形式:$x\times 2^y$。

IEEE(pronounced “Eye-Triple-Eee”)浮点数标准 是行业内公认的标准。

rounding:when a number cannot be represented exactly in the format and hence must be adjusted upward or downward。可以翻译为:舍入。

十进制的小数表示:$d_m d_{m-1} \cdots d_1 d_0 . d_{-1} d_{-2} \cdots d_{-n}$,写成数学表达式:

$$
d = \sum_{i=-n}^m 10^i \times d_i
$$

相应的,二进制也可以写成这种形式:

$$
b = \sum_{i=-n}^m 2^i \times b_i
$$

阅读全文 »

wsl oh my zsh 字符乱码问题

发表于 2018-09-20 | 更新于: 2025-01-03
字数统计: 154

安装 oh my zsh

首先检查自己有没有 zsh:

1
cat /etc/shells

如果有的话就下载oh my zsh

阅读全文 »

wsl修改右键bash图标

发表于 2018-09-19 | 更新于: 2025-01-03
字数统计: 240

使用 windows subsystem for linux (简称:WSL) 的时候,遇到一个小问题,在文件管理器中右键,唤出 bash,发现图标不对:

截图1

阅读全文 »

编程珠玑系列笔记 -- 第二章 啊哈!算法

发表于 2018-06-28 | 更新于: 2025-01-03 | 分类于 算法
字数统计: 1,762

本书的另一个中心思想显而易见:良好的算法是程序性能提升的关键。

下面还是通过探讨几个实例,来领会一下算法的重要性。

阅读全文 »
1…131415…17
liuqinh2s

liuqinh2s

84 日志
2 分类
36 标签
RSS
GitHub Twitter
Links
  • liam
  • jiyanggg
  • 曾小乱 – 在描绘他的生活倒影
© 2025 liuqinh2s | Site words total count: 138.9k
由 Hexo 强力驱动
|
主题 — NexT.Pisces v5.1.4