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

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. WebApi:自定义筛选器

    最近在项目中有这样一个需求,记录每次Api访问的调用时间,运行时间,传入数据,返回数据等信息. 第一反应就是添加一个类,用来实现相应的功能,然后在方法的代码中添加,但是这样的话,需要修改所有的方法的代 ...

  2. [转载] 【Shiro】Apache Shiro架构之实际运用(整合到Spring中)

    写在前面:前面陆陆续续对Shiro的使用做了一些总结,如题,这篇博文主要是总结一下如何将Shiro运用到实际项目中,也就是将Shiro整到Spring中进行开发.后来想想既然要整,就索性把Spring ...

  3. Tomcat 使用apr优化

    最近业务服务器出现了一些问题,Nginx傲娇了,准备把加Nginx插件上的一些处理逻辑扔到后端的Tomcat的业务处理里面去,考虑到tomcat目前本来就压力山大,所以弄了弄apr库来优化tomcat ...

  4. 实验室ip同步脚步

    #!/bin/bash PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin hostname=`hostname` us ...

  5. Javascript 基础知识学习--javascript中的参数传递都是按值传递的

    ECMAScript中所有函数的参数传递都是按值传递的,无论参数是值类型还是引用类型的.过去我跟大多数人一样觉得跟传值类型相关. 自己写了一个测试的例子,确实如此 function add(a) { ...

  6. 70. Implement strStr() 与 KMP算法

    Implement strStr() Implement strStr(). Returns a pointer to the first occurrence of needle in haysta ...

  7. 关于sublime text2

    转自:http://www.qianduan.net/essential-to-sublime-the-text-2-plugins.html Sublime Text 2是一个轻量.简洁.高效.跨平 ...

  8. Jmeter学习一:Jmeter性能测试环境搭建(Windows下)

    最近刚开始接触Jmeter性能测试,现总结环境搭建如下: 一.windows安装JDK步骤与环境变量配置: 1.先将下载的JDK安装到其默认目录:C:\Program Files\Java\jdk1. ...

  9. C#中截取字符串的几种方法

      1.根据单个分隔字符用split截取 例如 复制代码代码如下: string st="GT123_1"; string[] sArray=st.split("_&qu ...

  10. C++去掉字符串中首尾空格和所有空格

    c++去掉首尾空格是参考一篇文章的,但是忘记文章出处了,就略过吧. 去掉首尾空格的代码如下: void trim(string &s) { if( !s.empty() ) { s.erase ...