【发布时间】:2018-10-22 03:44:13
【问题描述】:
我正在尝试从一个给定的 C/C++ 程序生成多个程序,并展开循环。例如,我想转换如下内容:
i = 0;
while (i < 5) {
printf("Hello");
i++;
}
到这里:
i = 0;
printf("Hello");
i++;
while (i < 5) {
printf("Hello");
i++;
}
在上面的示例中,我想生成 5 个程序,每个程序都有不同数量的展开循环。到目前为止,我查看的编译器标志似乎并没有生成程序,而只是对其进行了优化。有没有直接的自动化方式来做到这一点?
编辑:我不明白为什么这被否决了。链接为重复的问题不相关。
【问题讨论】:
-
@NickyC 我的问题是关于生成 C 程序,我不明白你链接的问题是如何相关的。
-
你为什么要这个?
-
@bolov 我正在尝试为我的研究创建一个合成程序数据集(它们执行相同的任务)。
-
@AmitRege 请注意“相同的东西”只能用as-if rule来定义
-
我不知道有什么工具可以为你生成这种代码。只需编写一些简单的脚本(bash、python 等任何你喜欢的),它将使用你的 C 代码从一个提供的 C 源文件生成 n 个文件。