--------------------------------------------------------------------------------------

GNU M4介绍:

GNU M4 是一个传统Unix宏处理器的实现。它主要兼容 SVR4,尽管它有一些扩展(例如,处理超过9个位置参数的宏)。GNU M4 同样有内置的函数用来包含文件,运行shell命令,做算术运算,等等。

GNU M4 在某种意义上来说是一个宏处理器,它复制输入到扩展的宏后输出。宏既不是内置也不是用户定义的,并且能带任意个数的参数。除了做宏扩充,m4有内置的函数用来包含命名的文件,运行UNIX命令,做整数运算,用各种方式操作文本,递归等... m4本身既可以用来作为一个编译器的前端也可以作为一个宏处理器。

GNU M4 其中一个最大的使用者是 GNU Autoconf 项目。

下载M4:

最近稳定版是1.4.17,可以在 http://ftp.gnu.org/gnu/m4/ 和 ftp://ftp.gnu.org/gnu/m4/ 上找到。也可以在其中一个我们的FTP镜像。稳定版开发分支同样可以从git上检出,使用下面的:

git clone git://git.sv.gnu.org/m4 或 git clone http://git.savannah.gnu.org/r/m4.git
git checkout -b branch-1.6 origin/branch-1.6

文档:

GNU M4文档可以在http://www.gnu.org/software/m4/manual/找到。你同样可以通过查找本地文档找到更多关于GNU M4的信息。例如,你可以查看 /usr/share/doc/m4/,或在shell提示符使用 info m4

邮件列表:

GNU M4 有几个邮件名单: <bug-m4@gnu.org><m4-discuss@gnu.org><m4-patches@gnu.org>, and <m4-announce@gnu.org>。这些名单的存档是可用的;通过链接到的存档查看每个名单的详情。

你可以用下面描述的方式通过web订阅任何GNU邮件名单。或者你可以发送一封仅含主题为"subscribe"这个标题的空邮件到相关请求名单。例如,要订阅到bug-m4名单,你要发送邮件到bug-m4-request@gnu.org,不需要内容和主题名称是:"subscribe"。

通告:

小量的邮件列表m4-announce 包含所有关于GNU M4的通告。重要的M4通告和大多数其他GNU软件同样由  <info-gnu@gnu.org> 产生。

开发跟踪:

数量适中的邮件列表bug-m4 跟踪所有bug报告。有关提交的bug的更多信息,请看下面的报告bug部分。

请求改进:...

报告Bug:...

维护人员:...

Translate From:http://www.gnu.org/software/m4/m4.html

Link:http://www.cnblogs.com/farwish/p/4899676.html

GNU M4 - GNU Project - 免费软件基金会(FSF)的更多相关文章

  1. 在远程登陆的主机上通过命令行源码编译安装 GNU M4、autoconf、automake 等程序

    由于实验需要,最近获得了一个实验室服务器的账号,平常主要通过 ssh 进行远程登陆进行实验.一方面,远程登录的机器只提供终端界面,一般只通过命令行进行任务操作:另一方面,由于是多人共享服务器,故而个人 ...

  2. GNU m4 教程[转]

    原文:http://blog.csdn.net/timekeeperl/article/details/50738164 作者:garfileo  作者主页 本文整理自:https://segment ...

  3. 使用autoconf和automake生成Makefile文件(转)

    Makefile好难写 曾经也总结了一篇关于Makefile的文章<make和makefile的简单学习>.但是,总结完以后,发现写Makefile真的是一件非常痛苦的事情,的确非常痛苦. ...

  4. linux下使用autoconf制作Makefile

    第一步:常用工具安装:正所谓:"工欲善其事,必先利其器".我们常用的工具主要有GNU AutomakeGNU AutoconfGNU m4GNU Libtool1.查看自己系统中是 ...

  5. x86、Linux、GNU、GNOME是什么

    一.指令集架构: 指令集架构(英语:Instruction Set Architecture,缩写为ISA),又称指令集或指令集体系,是计算机体系结构中与程序设计有关的部分,包含了基本数据类型,指令集 ...

  6. GNU 项目(开源社区的由来,背后的哲学)

    转自译言网:http://article.yeeyan.org/view/88497/59257/ 第一个软件共享社区 当我在1971年开始在麻省理工人工智能实验室工作时, 我成为一个已经存在多年的软 ...

  7. GNU/Linux与开源文化的那些人和事

     一.计算机的发明 世上本无路,走的人多了,就有了路.世上本无计算机,琢磨的人多了--没有计算机,一切无从谈起. 三个人对计算机的发明功不可没,居功至伟.阿兰·图灵(Alan Mathison Tur ...

  8. 什么叫做GNU

    GNU就是GNU's Not Unix的缩写, GNU 的创始人Stallman 认为UNIX 虽然不是最 好的操作系统,但是至少不会太差,而他自信有能力把UNIX不足的地方加以改进,使它 成为一个优 ...

  9. GNU与Linux

    GNU是自由软件之父 Richard Stallman在1984年组织开发的一个完全基于自由软件的软件体系,与此相应的有一分通用公共许可证(General Public License,简称GPL). ...

随机推荐

  1. winXP下安装opensshd服务

    1)参考如下帖子:http://blog.chinaunix.net/uid-23187544-id-2527564.html http://wuhuizhong.iteye.com/blog/122 ...

  2. IntelliJ IDEA内存优化最佳实践

    [编者按]本文作者在和同事的一次讨论中发现,对 IntelliJ IDEA 内存采用不同的设置方案,会对 IDE 的速度和响应能力产生不同的影响. Don’t be a Scrooge and giv ...

  3. [ActionScript 3.0] AS3.0 烟雾粒子效果

    package { import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.Sprite; ...

  4. 刷了OpenWrt Attitude Adjustment 12.09,很满意

    OpenWrt的这个新版本编译好的固件里集成了luci,图形界面还是很方便的. 装了wpad.qos之后,空间刚好剩下一点点,囧,4M闪存还是不够折腾啊. 发现一个bug:如果空间不够的情况下继续安装 ...

  5. 剑指Offer:面试题21——包含min函数的栈(java实现)

    问题描述: 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数.在该栈中,调用min,push及pop的时间复杂度都是O(1). 思路:加入一个辅助栈用来存储最小值集合 (这里要注 ...

  6. unity3d InverseTransformPoint方法

    从歪果仁的脚本里看到了这个方法,查脚本,看脚本说明也没看懂,官方的说明是,变换位置从世界坐标到自身坐标,Transform.TransformPoint相反. 试验了一下得出这个结论,如果某一个物体A ...

  7. KMP算法简明扼要的理解

    KMP算法也算是相当经典,但是对于初学者来说确实有点绕,大学时候弄明白过后来几年不看又忘记了,然后再弄明白过了两年又忘记了,好在之前理解到了关键点,看了一遍马上又能理解上来.关于这个算法的详解网上文章 ...

  8. Binder的设计和框架

    转自:http://wangkuiwu.github.io/2014/09/01/Binder-Introduce/ 1. Binder架构解析 1.1 Binder模型 上图中涉及到Binder模型 ...

  9. Oracle优化查询技巧

    1. WHERE子句中的连接顺序:Oracle采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的 ...

  10. Asp.net using Oracle.DataAccess.dll access oracle 11g 64bit & x86

    使用.net访问oracle数据库时一般需要在机器上安装instantclient才能正常连接. 下面介绍一种不用安装instantclient直接引用dll就用.net能连接oracle数据库的方法 ...