第13章 运行库实现

文章总结

C语言运行库

在开始实现MiniCRT之前,首先要对它进行基本的规划。“麻雀虽小五脏俱全”,虽MiniCRT很小,但它应该具备CRT的基本功能以及遵循几个基本设计原则,这些我们归结为如下几个方曲:

  • 首先MiniCRT应该以ANIS C的标准库为目标,尽量做到与其接口相一致。
  • 具有自己的入口函数(mini_crt_entry)。
  • 基本的进程相关操作(exit)。
  • 支持堆操作(malloc、free)。
  • 支持基本的文件操作(fopen、fread、fwrite、fclose、fseek)。
  • 支持基本的字符串操作(strcpy、strlen、strcmp)。
  • 支持格式化字符串和输出操作(printf,sprintf)。
  • 支持atexit()函数。
  • 支持跨平台的,Windows和Linux两个操作系统。
  • 实现尽量简单,以展示CRT的实现为目的,并不追求功能和性能。