在autotools中,什么是dnl'ed?

Cra*_*enz 3 autoconf autotools m4

我在autoconf代码中看到了很多关于什么是dnl'ed而不是dnl'ed的东西.什么是dnl'ed?

ax.*_*ax. 7

GNU M4 1.4.13宏处理器手册:

8.1删除输入中的空格

内置dnl代表"丢弃到下一行":

- 内置:dnl

所有字符(包括下一个换行符)都将被丢弃而不执行任何宏扩展.如果在没有换行符的情况下遇到文件末尾,则会发出警告.

扩张dnl是无效的.

它通常用于连接define,以删除调用后的换行符define.从而

   define(`foo', `Macro `foo'.')dnl A very simple macro, indeed.
   foo
   ?Macro foo.
Run Code Online (Sandbox Code Playgroud)

直到(包括下一个换行符)的输入被丢弃,而不是处理注释的方式(参见注释).

[...]