问题标签 [m4]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1804 浏览

m4 - 如何为 m4 宏文件包含 ifdef 保护?

对于 C 头文件,您可以防止包含多个头文件,例如:

如何在 m4 中做同样的事情,include()以便对同一文件的多个宏调用只会导致内容被包含一次?

具体来说,我想做一个涉及使用宏的 ifdef 保护changequote(我不会用dnl's 弄乱我的代码):

最初,当我执行以下操作时,多个包含仍然会破坏引号:

更改quote_file.m4:

更改quote_invocation.m4:

m4 changequote_invocation.m4使用产量调用:

0 投票
1 回答
169 浏览

javadoc - GNU M4 语言的 Doxygen

是否可以用 Doxygen 或类似的东西记录 GNU M4 宏?

我们有大量的宏,希望在注释中记录它们并从中生成文档(类似于 Doxygen、JavaDoc 等)

谢谢!

0 投票
2 回答
511 浏览

css - M4 评估精度

我正在尝试使用 M4 宏来生成 css 文件。我愿意在 px 中输入我的值并使用 eval() 进行简单的数学运算以得到 em 中的结果。不幸的是,我没有找到如何获得花车。

有任何想法吗?

谢谢!

0 投票
1 回答
211 浏览

android - Android NDK 和 .m4

有一个 OpenSource Linux 库,它有一个包含文件 .m4 的文件夹。我想在 Android NDK 上移植这个库。问题:如何编译这些。米4?即如何编写Android.mk?

0 投票
5 回答
6743 浏览

xcode - aclocal/autoconf 报告 Mac OS X 上缺少 m4sugar.m4?

我在 /Xcode3.2 中安装了 Xcode 3.2,但没有在 /Developer 中安装任何东西。当我想做开发时,我启动一个shell如下

在哪里和XCODE是。这处理了尝试构建项目的大部分奇怪问题。但是,我最近遇到了一个我想重新运行的情况并得到以下错误:/Xcode3.2SDK_ROOT${XCODE}/SDKs/MacOSX10.6.sdkaclocal

指定-I标志以aclocal指向替代方案/Xcode3.2/usr/share/aclocal-1.10/Xcode3.2/usr/share/aclocal似乎无济于事。如果我使用--verbose, 然后重新运行m4它手动列出的命令并添加一个-I指向 的标志/Xcode3.2/usr/share/autoconf,那么它可以工作,但我似乎无法从aclocal. 此外,建议页面允许我添加路径的M4PATH环境变量似乎没有什么区别。(并且设置环境变量将是我的首选设置,这样我就可以将它添加到上面的别名中。)manm4

到目前为止,除了从/usr/share/autoconfto创建符号链接的“肮脏”过程之外,我还没有提出解决方案/Xcode3.2/usr/share/autoconf。还有其他更好的方法吗?

注意:我之所以在开发者工具的安装和操作系统之间保持这种不同的界限是为了提供可靠的跨操作系统编译(例如,这样一个 Xcode 版本的工具不会干扰另一个 Xcode 版本的构建行为。)

0 投票
2 回答
110 浏览

m4 - 如何在m4中截断字符串的最后一个字符

我正在尝试创建一个用于删除 m4 中字符串的最后一个字符的宏,我正在尝试执行以下操作:

这是最接近工作的一个,但我仍然无法正确实现它。我现在需要一些帮助。

0 投票
1 回答
534 浏览

macros - 当宏以与宏后面的字符串相同的字符结尾时使 m4 看到宏

我正在开发一个使用 M4 扩展一些文件的系统,但在某些情况下我遇到了扩展问题。定义/宏命名的约定(如果可能的话,我宁愿不改变)是__<name>__(即双前导和尾随下划线。)所以这可以正确扩展:

但,

应该给:

但给

(即它错过了扩展)

我认为宏的尾随下划线和底层文本的有效下划线之间缺少空格使 m4 感到困惑。对此我能做些什么吗?我可以用无声大括号分隔宏吗,例如环境变量?

0 投票
5 回答
731 浏览

php - 在 html 中实现宏定义的方法

我会很高兴做这样的事情

然后使用它:

我认为宏是非常的优势。

一种解决方法是使用像 m4 这样的宏处理器,或者使用 php 来模拟宏效果。还有其他需要考虑的技术吗?

0 投票
1 回答
238 浏览

c - m4 不解析局部变量

我有一个 m4 宏的问题。宏是

在我的 .C 文件中,我有

BARRIER(Global->start, P, MyNum)其中Global->startP是全局变量,MyNum 是局部变量。

但是当我执行

在输出文件中有这样的:

我的宏有问题,或者只是一个限制?

提前致谢。

0 投票
1 回答
217 浏览

php - 添加源以构建 php 扩展

我想编写一个测试 php 扩展,它将提供一个测试类。我想将类声明提取到一个单独的 C 文件中,并从 myext.c 文件的模块 init 函数中调用类注册。我有以下文件:

现在 config.m4 文件非常简单:

如何配置 config.m4 以便能够将 test_class.c 添加到扩展构建中?

更新:

如何配置 config.m4 使其在特定文件夹中搜索 .c 文件并自动添加到扩展构建中?