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

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. windows 代理服务器的搭建,提供Android 端访问公网.

    这段时间遇到一个情况,移动的网络收费.但是可以访问学校内部的网络,比如说学校官网图书馆之类了.所以我这里便想到一个方法,用学校内部一个可以访问互联网的主机充当代理服务器(我这里使用自己的电脑,非服务器 ...

  2. context menu与submenu区别

    http://blog.csdn.net/liuxiit/article/details/6819235 总结调用顺序: 点击“Menu" 键时,调用 onCreateOptionsMenu ...

  3. nodejs-express 报错View is not a constructor

    可能是express版本问题 view修改为views – app.set('views',__dirname + '/views');

  4. MyBatis环境配置

    <settings> <!-- 使全局的映射器启用或禁用缓存. --> <setting name="cacheEnabled" value=&quo ...

  5. Python从题目中学习:range()和xrange()

    近期给公司培训Python,好好啃了啃书本,查了查资料,总结一些知识点. --------------------------------------------------------------- ...

  6. spring security method security

    参考 Spring Security 官方文档 http://www.concretepage.com/spring/spring-security/preauthorize-postauthoriz ...

  7. boost compile

    pushd E:\boost\boost_1_59_0 b2 stage --toolset=msvc-12.0 --without-python --stagedir="E:\boost\ ...

  8. Android IOS WebRTC 音视频开发总结(七一)-- H265/H264有何不同

    本文整理自自网络,非原创,喜欢相关文章请关注我们的微信公众号:blackerteam H.265 H.265是ITU-TVCEG继H.264之后所制定的新的视频编码标准.H.265标准围绕着现有的视频 ...

  9. c++子类调用基类方法的一个例子

        Base.h #pragma once   class Base { public:     Base(void);     ~Base(void);     bool CreatClone( ...

  10. window date type

    Most string operations can use the same logic for Unicode and for Windows code pages. The only diffe ...