这是命令 autogen,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
AUTOGEN - 自动程序生成器
概要
AUTOGEN [-标志[-旗 [折扣值]][--选项名称[[=| ]折扣值]] [ ]
AutoGen 使用外部定义从模板创建文本文件。
商品描述
自动生成 专为生成包含重复文本的程序文件而设计
替代品。 目标是简化包含大量程序的维护
大量重复的文字。 如果有几个块,这尤其有价值
这样的文本必须保持同步。
一个常见的例子是维护处理程序所需的代码的问题
选项。 处理选项需要至少保留四种不同的构造
程序中不同位置的正确顺序。 您至少需要:标志字符
在标志字符串中,遇到标志时进行处理的代码,一个全局状态
变量或两个,以及用法文本中的一行。 除此之外,你还需要更多的东西,如果
您选择实现长选项名称、配置文件处理、环境
变量等等。
所有这些都可以机械地完成; 使用适当的模板和这个程序。
配置
这款 以下 选项 选择 定义, 模板 和 方案 功能 至 使用
-L DIR, --模板目录=DIR
在中搜索模板 DIR. 此选项可以无限次出现。
将目录添加到目录列表中 AUTOGEN 打开时搜索
模板,作为主要模板或包含的模板。 最后一个条目有
搜索列表中的最高优先级。 也就是说,它们在
相反的顺序。
-T tpl 文件, --覆盖-tpl=tpl 文件
使用 文件 为模板。 此选项可能未随环境预设
变量或在初始化 (rc) 文件中。
定义文件指定要扩展的标准模板。 这个选项
将覆盖该名称并展开不同的模板。
-l tpl 文件, --lib-模板=tpl 文件
从以下位置加载 AutoGen 宏 文件. 此选项可能会出现无限数量的
倍。
DEFINE 宏从此模板文件中保存,用于处理主要
宏文件。 除 DEFINE 宏之外的模板文本将被忽略。
不要使用这个。 相反,请在模板中使用 INCLUDE 宏。
注意: 这 OPTION IS 弃用
--定义=文件, Fl -无定义
读取定义 文件。 该 无定义 表单将禁用该选项。 这个
默认情况下启用选项。 此选项可能未随环境预设
变量或在初始化 (rc) 文件中。
使用此参数通过命令行选项指定输入定义文件。
如果不指定此选项,则必须有一个命令行参数
指定文件,即使只是用连字符 (-)。 指定,
--无定义 当您希望在没有任何活动 AutoGen 的情况下处理模板时
定义。
- 贝壳=壳
要使用的 shell 的名称或路径名。
默认情况下,当 AutoGen 构建时,配置被探测到一个合理的
用于 shell 脚本处理的类似 Bourne 的 shell。 如果特定模板
需要一个备用 shell,必须在命令中使用此选项指定
行,带有环境变量(SHELL) 或在配置/初始化中
文件中。
-m, --no-fmemopen
不要使用 in-mem 流。
如果本地 C 库支持“打开cookie(3GNU)“, 要么 ”开开心心(3BSD)“ 然后
AutoGen 更喜欢使用内存流缓冲区打开而不是匿名文件。
如果虚拟内存不足,这可能会导致问题。 如果,对于一个
特定应用程序,您的内存不足,然后指定此选项。 这是
在现代 64 位虚拟内存环境中不太可能。
在没有这些功能的平台上,该选项被接受但被忽略。
fmemopen(POSIX) 不够用,因为它的字符串缓冲区不可重新分配。
open_memstream(POSIX) is 还 不够用,因为流只开放给
输出。 AutoGen 需要一个可重新分配的缓冲区,可用于读取和
写作。
- 等同=字符列表
字符被认为是等效的。 默认的 字符列表 这个选项是:
_-^
此选项将更改被视为等效的字符列表。 默认的
是三个字符,“_-^”。 (最后一个是 Tandem/HP-NonStop 上的常规,
我曾经在 Tandems 上做过很多工作。)
这款 以下 选项 修改 形成一种 产量 is 处理
-b 姓名, --基本名称=姓名
指定 您的姓名 作为输出的基本名称。 此选项可能未预设
环境变量或在初始化 (rc) 文件中。
模板可以指定输出文件的确切名称。 通常,它不会。
相反,名称由定义文件的基本名称组成
附加后缀。 此选项将覆盖从
定义文件名。 如果没有定义文件和
如果定义是从 stdin 读取的,则建议这样做。 如果定义被
从标准输入中读取,基本名称默认为 标准输入. 任何前导目录
名称中的组件将被静默删除。 如果您希望输出文件
出现在特定目录中,建议您“cd”进入该目录
首先是目录,或者在输出格式规范中使用目录名称
后缀列表,参见:伪宏。
--源时间, - Fl -无源时间
将模组时间设置为最新来源。 这 无源时间 表单将禁用该选项。
如果您使用 数字网络工程师 宏输出,然后是您的输出文件
总是会有所不同,即使内容并没有真正改变。 如果你使用
这个选项,那么输出文件的修改时间才会改变
输入文件更改。 这将有助于减少不需要的构建。
--可写, - Fl -不可写
允许输出文件可写。 这 不可写 表单将禁用该选项。
此选项将使输出文件可写。 通常,输出文件被读取-
只。
这款 以下 选项 旨在 经常 有用 而 调试 新 模板
它们指定了防止模板花费过长或产生更多的限制
输出超出预期。
--循环限制=LIM
限制增量循环。 此选项将整数作为其参数。
价值 LIM 被限制为:
正好 -1,或
在 1 到 0x1000000 范围内
默认值 LIM 这个选项是:
256
此选项可防止失控循环。 例如,如果您不小心指定了“FOR
x (for-from 1) (for-to -1) (for-by 1)",需要很长时间才能完成。如果你
表中有超过 256 个条目,您需要指定一个新的限制
这个选项。
-t 秒, - 暂停=秒
将服务器外壳操作限制为 SECONDS. 此选项采用整数作为
它的论点。 的价值 秒 被限制为:
在 0 到 3600 的范围内
AutoGen 与 shell 服务器进程一起工作。 大多数正常命令将在
不到 10 秒。 但是,如果您的命令需要更多时间,请使用
这个选项。
有效范围是 0 到 3600 秒(1 小时)。 零将禁用服务器时间
限制。
- 痕迹=水平
跟踪详细程度。 此选项将关键字作为其参数。 这
参数设置一个枚举值,可以通过将它们与
选项值宏。 可用的关键字是:
没有调试消息服务器外壳
模板块宏表达式
一切
或它们的等价物。
默认值 水平 这个选项是:
没什么
此选项将导致 AutoGen 显示其模板处理的跟踪。
有六个级别,每个级别都包含来自先前级别的消息:
没什么 根本不进行跟踪(默认)
调试信息 打印来自“DEBUG”AutoGen 宏的消息(请参阅:DEBUG)。
服务器外壳 跟踪服务器外壳的所有输入和输出。 这包括一个
shell“独立”初始化脚本大约 30 行。 它的输出是
丢弃且未插入任何模板。
模板 跟踪调用 限定d 宏和 包括s
块宏 跟踪所有块宏。 以上,加 IF, 用于, CASE 和 而.
表达式 显示表达式评估的结果。
一切 显示每个 AutoGen 宏的调用,甚至 文字 宏(即
宏引号之外的文本)。 此外,如果您重建“expr.ini”
启用调试的文件,然后所有调用 AutoGen 定义的方案函数
也会被记录:
CD ${top_builddir}/agen5
DEBUG_ENABLED=true bash bootstrap.dir expr.ini
使 CFLAGS='-g -DDEBUG_ENABLED=1'
请注意,您不能在没有首先使用的情况下以这种方式重建此源
安装了 AUTOGEN 可执行文件在您的搜索路径中。 正因为如此,“expr.ini”
位于分布式源列表中,而不是在依赖项中。
--追踪=文件
跟踪输出文件或过滤器。
指定的输出可以是文件名、附加到的文件,或者,如果
选项参数以 管 运算符(|),一个将接收
跟踪输出作为标准输入。例如, --traceout='| 较少的' 将运行跟踪
通过输出 减 程序。 附加到文件是通过在前面指定的
带有两个大于号的文件名 (>>).
--显示定义
显示定义树。 此选项可能未预设环境变量
或在初始化 (rc) 文件中。
这将在处理模板之前打印出完整的定义树。
--used-定义
显示使用的定义。 此选项可能未随环境预设
变量或在初始化 (rc) 文件中。
这将打印出在搜索期间搜索的定义值的名称
模板的处理,无论是否实际找到。 可能还有其他
在未评估的模板部分中引用了模板中的定义。
列出的一些名称可能是计算名称和其他 AutoGen 宏参数。
这不是产生一个确定的、包罗万象的清单的方法
仅使用定义文件中的值。 这是为了帮助
仅模板文档。
-C, - 核
在失败退出时保留核心转储。
许多系统默认为零大小的核心限制。 如果系统有
sys/resource.h 标头,如果提供了此选项,则在失败退出时
路径,autogen 将尝试将软核限制设置为任何硬核
极限是。 如果这不起作用,那么管理员必须提高硬核
大小限制。 在定义文件和模板文件中”它们指定了哪些
产出和部分产出。
-s 后缀, --跳过后缀=后缀
用这个跳过文件 后缀. 此选项可能会出现无限数量的
次。 此选项可能未使用环境变量或在
初始化 (rc) 文件。 此选项不得与以下任何一项组合出现
以下选项:select-suffix。
有时,可能不需要生成所有指定的输出文件
在模板中。 (例如,只有 .h 头文件,但不是 .c 程序
文本。)为此指定 --跳过后缀=c 在命令行上。
-o 后缀, --选择后缀=后缀
指定此输出后缀。 此选项可以无限次出现。
此选项可能无法使用环境变量或在初始化 (rc) 中预设
文件。
如果您希望覆盖模板中的后缀规范,您可以使用一个
或更多此选项的副本。 参见@ref{pseudo
信息文档的宏}部分。
-D 折扣值, - 定义=折扣值
要添加到定义列表的名称。 此选项可能会出现无限数量的
倍。
AutoGen 定义名称用于以下目的:
可以使用 C 样式启用或禁用 AutoGen 定义的部分
#ifdef 和 #ifndef 指令。
为名称定义值时,您可以指定特定值的索引。
该索引可以是文字值、定义选项或值 #define-d
定义本身。
文件名可以加前缀 $名称/。 该 $名称 名称字符串的一部分
将替换为define-d值 您的姓名.
AutoGen 完成加载定义后,将导出定义的值
与环境, 普腾女(3). 然后可以在 shell 脚本中使用这些值
- ${姓名@参考和模板中 (获取环境 “姓名”).
在处理模板时,您可以指定一个索引来检索特定值。
该索引也可以是定义-d 值。
将此名称放在导出的环境中完全等效。
在内部,这就是 AutoGen 使用此选项实际执行的操作。
-U 姓名拍拍, --未定义=姓名拍拍
定义列表删除模式。 此选项可能会出现无限数量的
次。 此选项可能未使用环境变量或在
初始化 (rc) 文件。
类似于 'C',AutoGen 使用 #ifdef/#ifndef 预处理指令。 这个选项
将导致从定义的值列表中删除匹配的名称。
本篇 选项 is 用过的 至 自动化 依赖 追踪
-M 类型, --make-dep [类型]
发出 make 依赖文件。 此选项可以无限次出现。
此选项可能无法使用环境变量或在初始化 (rc) 中预设
文件。
此选项的行为与 -M 一系列选项与
gcc 编译器,除了不只是发出前任
依赖项,这也会发出后继依赖项(输出目标文件)。 经过
默认,输出依赖信息会放在 .d,但可能
也指定为 -MF. 将操纵此文件上的时间戳
以便它比最旧的主输出文件早一秒。
这个依赖文件中的目标通常是依赖文件名,但是
也可能被覆盖 -公吨. AutoGen 不会改变
该文件,但它可能会创建它,它会调整修改时间以匹配
开始时间。
注意: 这些第二个字母是选项参数的一部分,所以 -MF 必须有
引用或省略的空格字符,以及 -M "F ” 是可以接受的,因为
F 是选项参数的一部分。
-M 后面可以跟任何字母 M、F、P、T、Q、D 或 G。但是,只有 F、
Q、T 和 P 是有意义的。 除 F 外,所有的含义都有些不同。 -公吨
被解释为意义 是一个哨兵文件,它将依赖于所有输入
(模板和定义文件)和所有输出文件都将依赖于此
哨兵文件。 它适合用作真正的制作目标。 Q治疗
与 T 相同,除了美元字符 ('$') 加倍。 P 导致特殊
要插入到 make 文件片段中的干净(clobber)虚假规则。 一个空的
总是为构建目标列表而创建规则。
这是推荐的用法:
-MFwhatever-you-like.dep -MTyour-sentinel-file -MP
然后在你的 生成文件,使 AUTOGEN 规则:
-include what-you-like.dep
clean_targets += 清理你的哨兵文件
.sp
你的哨兵文件:
自动生成 -MT$@@ -MF$*.d .....
.sp
本地清洁:
rm -f $(clean_targets)
依赖文件的修改时间调整为前一秒
任何其他输出文件的最早时间戳。 因此,它适用于
用作证明程序成功运行的哨兵文件。
(-包括 是 GNU 指定“如果存在则包含它”的方式。 你的品牌
必须支持该功能,否则您的引导程序必须创建该文件。)
所有这些也可以使用 依赖输出 or AUTOGEN_MAKE_DEP
环境变量。 如果定义,将输出依赖信息。 如果
用空白自由文本定义,而不是 true, false, 含,
没有, 0 or 1,则该字符串被视为输出文件名。 如果它包含一个
一串空白字符,第一个标记如上,第二个标记如上
被视为目标(哨兵)文件 -公吨 在上面的段落中。
依赖输出 如果有多个空格序列,将被忽略
字符,或者如果它的内容是,特别是, false, 没有 or 0.
救命, 版本 和 选项 处理
-?, - 帮帮我
显示使用信息并退出。
-!, --更多帮助
通过寻呼机传递扩展使用信息。
-> [配置文件], --保存选择 [=配置文件]
将选项状态保存到 配置文件. 默认是 最后 配置文件
列在 OPTION PRESETS 部分,下面。 更新后命令会退出
配置文件。
-< 配置文件, --加载选项=配置文件, --无负载选项
加载选项来自 配置文件。 该 空载选项 表单将禁用加载
较早的 config/rc/ini 文件。 --无负载选项 处理早,乱序。
-v [{v|c|n - 版 [{v|c|n}]}]
输出程序版本并退出。 默认模式是`v',一个简单的版本。
`c' 模式将打印版权信息,`n' 将打印完整的版权信息
恕不另行通知。
OPTION PRESETS
任何未标记为的选项 而不去 可预设的 可以通过加载值来预设
配置(“RC”或“.INI”)文件和来自名为的环境变量的值:
自动生成_ or 奥特根
环境预设优先(处理晚于)配置
文件。 的 荷马 文件是“$ HOME“和”."。如果其中任何一个是目录,则
文件 .autogenrc 在这些目录中搜索。
环境
参见 OPTION PRESETS 用于配置环境变量。
使用 onworks.net 服务在线使用 autogen