gawk安装与配置全解析
1. 配置过程
如果你对使用C语言和类Unix操作系统有所了解,那么这部分内容会很有用。gawk的源代码通常会尽可能遵循正式标准,这意味着gawk使用的是ISO C标准和POSIX操作系统接口标准指定的库例程,其源代码需要使用ISO C编译器(1990标准)。
许多Unix系统并不完全支持ISO或POSIX标准,gawk发行版中的missing_d子目录包含了那些最可能缺失的函数的替代版本。
configure创建的config.h文件包含了描述你尝试编译gawk的特定操作系统特性的定义,具体描述了以下三方面内容:
- 可用的头文件,以便正确包含它们。
- 你的C库中实际可用的(所谓)标准函数。
- 关于你的操作系统的各种杂项信息。
例如,如果stat结构中没有st_blksize元素,那么‘HAVE_STRUCT_STAT_ST_BLKSIZE’将未定义。
你的C编译器可能会向configure提供错误信息,它可能在库函数不可用时不报错退出。为了解决这个问题,可以编辑custom.h文件。使用适合你系统的#ifdef,并定义configure应该定义但未定义的常量,或者取消定义configure定义了但不应该定义的常量