GNU M4是传统Unix宏处理器的实现。 尽管具有一些扩展(例如,处理宏的9个以上位置参数),但它大部分与SVR4兼容。 GNU M4还具有内置功能,包括文件,运行shell命令,进行算术等。 从某种意义上说,GNU M4是一个宏处理器,它将它的输入复制到输出扩展宏中。 宏是内置的或用户定义的,可以使用任意数量的参数。 除了仅进行宏扩展外,m4还具有内置功能,包括命名文件,运行UNIX命令,执行整数算术,以各种方式处理文本,递归等。m4既可以用作编译器的前端,也可以用作宏处理器本身。 GNU M4的最大用户之一是GNU Autoconf项目。