-
TL;DR 首先,确未想到,为说清楚这个玩意儿,居然要用不少的篇幅;其次,当涉及对一些概念、原理的追溯时,递归到多深的地步,也不容易拿捏;好在,写这些文字主要是为了将来碰到某些反直觉的情况时可以有个快捷解答;最后若能得到碰巧逛到这里的同仁指点迷津,纠正错误,互通有无,就算赚到了 :-) 希望读完此文,能够消除一些关于 EOF 的疑惑,再碰到关于她的一些争论时,大家能够相视一笑。 愿此文,能解释 什么是 EOF? 为什么需要 EOF? 文件里包不包含 EOF? 终端输入时的 EOF 的表示方式和处理行为是怎么样的? 不同计算机语言的 EOF 如何定义的? …… may your blade never dull section-0 概 …
阅读更多 -
Index-0 原址:https://asmtutor.com/ 环境:nasm on x64 linux TL;DR 动机:程序员——多掌握几门计算机语言,还是有好处的 主题:汇编语言——有其不可替代的作用 呈示:天下语言逾千——汇编笑看沉舟侧畔 展开:欲知程序真相——反编译难,反汇编易 再现:大道器也不器——初见时如茶味甘苦,洞悉后若灌顶醍醐;原以为听多说多皆已昨,忽回首似曾相识又如陌;罢,风流不在谈峰健,相对无言味更长…… 原文作者自己说 『This project was put together to teach myself NASM assembly language on linux.』 欸~,原来是很窄众的哦。 写 …
阅读更多 -
算法原理 相关算法——插入法 对于集合 $$ S={a_1, a_2, ..., a_n} $$ 若已知前 $n-1$ 个元素的全排列,则 $n$ 个元素的全排列 $$ p_i={p_1,p_2,...,p_{(n-1)!}} $$ 可以这样生成:将 $a_n$ 插入 $p_i$ 不同位置中,由此,得到集合 $S$ 的全排列 为什么这样操作能得到集合 $S$ 的全排列?因为每个 $p_i$ 的可能插入位置为 $n$ 个,所以总数是 $n!$ 又因为每个 $p_i$ 是不同的,因此,得到的排列必然没有重复 插入法有一个缺点:为了产生 $n$ 个元素的排列,必须知道并存储所有 $n-1$ 个元素的排列,然后才能产生出所有 $n$ …
阅读更多