GCC:如何暂停/继续编译?

发布于 2024-10-20 16:32:37 字数 139 浏览 1 评论 0原文

是否有一个选项可以停止编译并将状态保存到文件,然后加载文件并继续编译?

我知道 GCC 有 -fdump-gimple-tree 选项,这使得 GCC 将内部表示“GIMPLE”转储到文件中,但我找不到重新加载文件的选项。

Is there an option to stop compilation and save state to a file and then load the file and continue compilation?

I know that GCC has -fdump-gimple-tree option, which makes GCC dump an internal representation "GIMPLE" to a file, but I cannot find an option to load the file back in.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

辞慾 2024-10-27 16:32:37

我看到几个选项:

  • 尝试将 4.3.1 的补丁更新到 4.5.0(不要尝试将修补的 4.3.1 代码分支与 4.5.0 代码分支合并,那会造成混乱)
  • 尝试将 4.3.1 的补丁包含在 4.5 版本中。如果它修复了一个错误,那应该是可能的(只需提交一份关于 GCC bugzilla 的_详细_报告)
  • 尝试修改您的代码,使其不依赖于 4.3.1 补丁或插件基础设施

或者...以上所有。

试图让你的代码由一个版本部分编译,然后由另一个版本完成,这听起来完全没有希望。

I see a few options:

  • try to update your patch for 4.3.1 to 4.5.0 (do not try to merge the patched 4.3.1 code branch with the 4.5.0 code branch, that would be mayhem)
  • try to get your patch to 4.3.1 to be included in the 4.5 release. If it fixes a bug, that should be possible (just file a _detailed_ report on the GCC bugzilla)
  • try to modify your code so that it does not depend on that 4.3.1 patch or on the plugin infrastructure

Or... all of the above.

Trying to get your code halfway compiled partially by one version, then finished by another sounds completely hopeless.

新一帅帅 2024-10-27 16:32:37

我不知道如何停止 GCC 编译,但您可以缓存已编译的文件,这样 GCC 就不必再次编译它们。请参阅 CCache

因此,如果您在某个时候粗暴地停止编译,例如使用 Ctrl-C,那么当您再次启动时,将从缓存中检索所有已编译的文件。

I don't know about stopping GCC compilation, but you can cache already compiled file so GCC won't have to compile them again. See CCache.

So if you stop brutally the compilation at some time, say with Ctrl-C, when you start again, all files that were already compiled will be retrieved from the cache.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文