在另一个文件中使用存储在一个文件中的m4宏



我想存储一些基本的m4宏,我通常在一个单独的文件(说mymacros.m4)中使用,然后应用其中使用的宏在当前源文件上,我正在mydoc.pre.txt

这可能吗?在所有的m4教程中,我看到m4宏被存储在文件的顶部或与工作文档交错。因此,在命令行中,我想键入如下内容m4 -f mymacros.m4 mydoc.pre.txt > mydoc.post.txt.

是否有m4的功能?

m4提供includesinclude宏(可能还有paste,spaste):

包括include宏的定义文本应该是由第一个参数命名的文件的内容。它如果文件不能被读取,将是一个错误。的如果不立即包含,则未指定行为后接左括号

sincludesinclude宏应该等同于include宏,除非它不应该是一个错误,如果文件不可访问。行为是未指定的,如果Sinclude后面没有紧接一个左-括号。

所以你可以把你的mymacros.m4包含到你的m4文件中:

include(`mymacros.m4')

您可以使用(如果您的m4支持)m4命令的-I选项来添加目录以包含路径。

相关内容

最新更新