1.m4宏语言关键字
define (NAME, [EXPANSION]) 定义名为NAME的宏,它展开为EXPANSION,其中可用$1等表示其参数。
undefine (NAME…) 取消定义名为各NAME的宏
defn (NAME…) 展开为各NAME指定的宏的定义(被引用)
pushdef (NAME, [EXPANSION]) 暂时名为NAME的宏,它展开为EXPANSION,其中可用$1等表示其参数,掩盖原来的。
popdef (NAME…) 恢复被掩盖的宏
indir (NAME, [ARGS…]) 以ARGS为参数调用名为NAME的宏
builtin (NAME, [ARGS…]) 以ARGS为参数调用名为NAME的内置宏
ifdef (NAME, STRING-1, [STRING-2]) 若定义了名为NAME的宏则展开为STRING-1,否则STRING-2
ifelse (COMMENT) 展开为空
ifelse (STRING-1, STRING-2, EQUAL, [NOT-EQUAL]) STRING-1与STRING-2相等时展开为EQUAL,否则NOT-EQUAL
ifelse (STRING-1, STRING-2, EQUAL-1, STRING-3, STRING-4,EQUAL-2, …, [NOT-EQUAL]) STRING-1与STRING-2相等时展开为EQUAL-1,否则抛弃前三参数继续
shift (ARG1, …) 展开为各参数的引用形式按逗号分隔的连接结果
dumpdef ([NAMES…]) 把各NAME的定义(不指定则所有)写到调试文件
debugmode ([FLAGS]) 设置调试模式
debugfile ([FILE]) 把调试信息写到FILE
dnl 删去本行余下字符
changequote ([START],[END]) 设置
m4宏语言初识
最新推荐文章于 2021-05-13 04:41:48 发布