StoneTough

一只银杏独傲,悠悠灰鸟单飞

概述

  Perl最强大的功能是其内置的对文本、面向行的数据格式进行模式导向的处理功能。比起shell,Perl包含更加强大的数据结构,包括混合元素类型的动态数组和支持名-值对的、查找方便快捷的散列(字典)类型。Perl还包括一个完备的、经过深思熟虑的全套Unix API的内部支持,显著减少对C的需求。另外,Perl形成了一个强大的开源社区。
   Perl的最佳之处是作为强有力工具以供大量设计正则表达式匹配的小型胶合脚本使用。最糟之处是当程序很大时Perl会变得非常丑陋、刻板和几乎无法维护。 —— 《Unix编程艺术》

阅读全文 »

概述

   Lex为词法分析器生成器。在许多情况下,相比自己动手写专用的生成器代码,使用lex有很多优势:获得更健壮、更简单、更清晰、更易维护的代码。这也是避免重复造轮子原则的应用。flex是lex的变种。
   词法分析器也可以用来完成源程序的宏预处理(如使用 gcc -E)。词法分析器围绕 词法单元模式词素等概念。

阅读全文 »

概述

  Shell的最佳之处在于书写小型脚本非常自然快捷,而复杂的shell脚本经常出现可移植问题,因其依赖大量可能不具有跨平台性的辅助命令。现在,负责的胶合层程序几乎都由Perl和Python来完成,shell只是为最简单的包装器和系统初始化脚本而保留。—— 《Unix编程艺术》

阅读全文 »

第1章 Unix 哲学

   K.I.S.S Keep It Simple, Stupid!

  一个程序只做好一件事,并做好。程序要能够协作,要能够处理文本流,因为这是最通用的接口。
   不懂Unix的人最终还要发明一个蹩脚的Unix。

阅读全文 »

第一章 构造过程抽象

  • 程序设计基本元素:基本表达形式、组合的方法、抽象的方法。
阅读全文 »

概述

   现代智能设备大都使用 Flash/EEPROM 芯片来存储固件,这些芯片的容量已经足够大,甚至可以容纳小型的操作系统。固件提取和分析技术可以使我们有能力对系统作出更改或者调整,甚至将整个固件进行替换。但对于很多设备来说,其安全性要求较高,其采取的安全加密和校验手段对分析人员提出了很大的阻碍,所以这项任务充满了困难,但也可能是充满乐趣和挑战的过程。

阅读全文 »

概述

该文章介绍如何制作可以启动多个Linux或Windows系统的USB盘.使用grub可以启动多种GNU/Linux系统,但启动Windows系统会稍微比较麻烦:首先windows系统的镜像文件可能大于4G,它只能存储在NTFS文件系统分区中,在FAT32分区中是不行的,所以解决方法是分别创建FAT32分区和NTFS分区。
另外要做到兼容Lagecy BIOS和UEFI。
如果要兼容UEFI,必须增加额外的EFI系统分区。

阅读全文 »

概述

本文章是整理基于TM4C123G开发板的智能小车的项目笔记,它会包括整个项目的开发流程及相关技术知识等,但它没有任何工程学上的目标,只是一种学习或者说一种动手设计的乐趣。

阅读全文 »
0%