linux中m4是什么
m4是一个通用的宏处理器,由布莱恩·柯林汉和丹尼斯·里奇设计。m4 是基于 Ritchie 早先为 AP-3 小型机开发的m3宏处理器扩展的。
m4 是 POSIX 标准中的一部分,所有版本的 UNIX 下都可用。虽然这种语言可以单独使用,但大多数人需要 m4 仅仅是因为 GNU autoconf 中的 “configure” 脚本依赖它。
宏处理器(或预处理器)一般用作文本替换工具。最终用户经常会用它来处理要反复使用的文本模板,典型的是用于编程工具,还会用于文本编辑和文字处理工具。
M4 是一个宏处理器.将输入拷贝到输出,同时将宏展开. 宏可以是内嵌的也可以是用户定义的. 除了可以展开宏,m4还有一些内建的函数,用来引用文件,执行Unix
m4 提供如下功能:
-
语法形式自由,而不是基于行的语法;
-
高度的宏扩展(宏参数在扫描和插值中都会被扩展)
-
文本替换
-
参数替换
-
文件包含
-
字符串操作
-
条件判断
-
数算运算
-
系统接口
-
程序员诊断
-
独立于计算机编程语言
-
独立于自然语言
-
可编程
与大部分早先的宏处理器不同,m4并不面向任何计算机语言或自然语言;但从历史角度来说,它最初是为支持 Fortran的方言Ratfor而开发的。此外,m4 还是一种图灵完备的编程语言。