m4相关内容

在Ubuntu 18.04上安装GNU M4 1.4.19

我需要在Ubuntu18.04上将M4更新为1.4.19,但如何操作?这是https://stackoverflow.com/a/69195008/1079990 的后续内容 我做到了: wget ftp.gnu.org/gnu/m4/m4-1.4.19.tar.gz tar -xvzf m4-1.4.19.tar.gz cd m4-1.4.19/ ./configure --pr ..
发布时间:2022-04-16 18:46:25 其他开发

“帮助"“configure --help"的字符串变量替换;

我有一个字符串,我想多次将其用于 configure --help 的输出.所以我尝试在 configure.ac 中做这样的事情: AC_ARG_ENABLE([foobar],AS_HELP_STRING([--enable-foobar], [$foobar_help_str])) 但是没有进行扩展或替换,所以输出只是$foobar_help_str. 解决方案 将字符串定义为 ..
发布时间:2021-11-30 19:11:57 其他开发

适用于python2和python3的AM_PATH_PYTHON

我正在使用automake的宏 AM_PATH_PYTHON 查找 pythondir 变量. 到目前为止,我一直在不带参数的情况下调用它,在Ubuntu上默认为python 2.7.现在,我还想为 python3.x (特别是3.3)构建它. 有没有一种方法可以调用 AM_PATH_PYTHON([3])以获取 python3.3 ,并使用 AC_SUBST 在特定于 python3 ..
发布时间:2021-04-12 20:16:15 其他开发

m4预处理器BC宏

相对于此问题,我想定义一个BC该函数的m4宏: syscmd(bc 2.4 我猜是这样的: define(`BC', syscmd(bc ..
发布时间:2020-06-29 21:22:58 其他开发

GNU M4:定义一个匹配文本的规则,并对匹配的文本进行操作?

假设我有: File: [x] 我想定义m4宏: define(`\[.*\]`, ...) 问题:这有可能吗?怎么做到的? 解决方案 在 3.1宏名称 名称是字母,数字和字符"_"的任意序列 (下划线),其中第一个字符不是数字. m4将使用 在输入中找到的最长此类序列.如果名称包含宏 定义,将对其进行宏扩展(请参见宏).名字 区分大小写. 合法名称的示 ..
发布时间:2020-06-29 21:22:56 其他开发

GNU M4:扩展方括号内的文字吗?

如果我跑步: define(`[x]`,`y') [x] =>[x] 什么也没有发生..有没有办法在M4中扩展括号? 解决方案 如果定义的宏名称包含非字母数字字符,则扩展其内容的唯一方法是使用defn()内置宏: define(`[x]',`y') defn(`[x]') => y ..
发布时间:2020-06-29 21:22:52 其他开发

如何在M4宏中缩进一段文本

是否有一个好的方法来在m4宏中统一缩进一段文本?换句话说,宏 define(`mytext',dnl This is a piece of text that I would like to indent) mytext 产生 This is a piece of text that I would like to indent 我希望有一种方法可以将整个文本块缩进指定的数量 ..
发布时间:2020-06-29 21:22:50 其他开发

使用m4进行预处理

我正在使用 m4 .我在此处处读取线程,然后从那里到达#include define(`DEF', `3') int main(int argc, char *argv[]) { printf("%d\n", DEF); return 0; } 并使用m4生成像这样处理的C文件. $ m4 test.c.m4 > test.c $ cat test.c #include ..
发布时间:2020-06-29 21:22:35 其他开发

在m4中,如何包含名称中包含环境变量的文件?

我想在不使用-I开关的情况下,在m4文本中包含一个相对于我的沙箱基础目录的文件. 到目前为止,我已经弄清楚了如何使用sys调用来获取环境变量: define(MODEL_ROOT,`syscmd(`printf $MODEL_ROOT')')dnl 接下来,我要包含一个基于该环境变量的文件: include(MODEL_ROOT/sw/lib/m4_macros/foreac ..
发布时间:2020-06-29 21:22:32 其他开发

我的自定义selinux策略似乎被android系统忽略

在使自定义selinux策略在基于AOSP的Android 7.1.2(更精确地基于索尼开放设备树)上正确运行方面,我遇到了一些麻烦. 我的问题是审核日志不断告诉我有关我实际添加的缺少文件访问规则的信息.我还复制了audit2allow创建的规则到我的策略文件中,但是即使那些规则也无法正常工作. 所以,让我们深入研究细节: 我创建了一个名为 vendor_app 的自定义域.该域 ..
发布时间:2020-06-29 21:22:25 移动开发

如何在GNU M4中匹配换行符_properly_

我正在尝试制作一个宏来替换换行符. 我的第一次尝试是: define(`m4_pascal_str',` patsubst(`$1',`^\(.*\)$',`\1++') ') m4_pascal_str(` 11 22 33 44 ') define(zz,` 11 22 33 44 ') m4_pascal_str(`zz') 在不使用中间宏时给出 ..
发布时间:2020-05-17 19:49:20 其他开发

Scala,Maven和预处理器

我知道Java中预处理器和宏的所有哲学论据。我不同意,因为有些人可能会滥用语言功能,所以应该排除所有语言功能。 我想要包含 __ FILE __ 和 __ LINE __ 我的Java和Scala代码中的宏用于高效日志记录。由于运行时性能影响,任何使用Exception都是不可接受的。那些认为可以在“生产代码”中关闭日志记录的人应该注意Brian Kernighan的建议: 删除错误消 ..
发布时间:2018-12-21 19:38:23 Java开发

M4 eval精度

我试图使用M4宏来生成CSS文件。我愿意输入我的值在px和做简单的数学使用eval()得到结果在em。不幸的是我没有找到如何获得浮点数。 define(`FONTSIZE',`13')dnl define(`LINEHEIGHT',`17')dnl .content {padding:eval(LINEHEIGHT / FONTSIZE)em} >> m4 style.css.m ..
发布时间:2017-02-07 23:36:34 前端开发

使用m4将字符串转换为ASCII码点

这应该是可能的,但因为我是一个新手与m4,我不知道如何去,或如何编写一个算法这样做(在m4)。 编辑: 只是解决了,无论如何,为了将来参考,我有一系列字符,他们需要翻译成等效的ASCII代码例如 ascii( - {COLON} - , - {:} - )=> #define TKN_COLON 58 解决方案 转移(-1) changeq ..
发布时间:2016-11-19 15:39:40 其他开发