Chapel中的增量编译

roy*_*vib 5 chapel

我一直在用小程序学习Chapel,他们工作得很好.但随着程序变得越来越长,编译时间也变得越来越长.所以我找到了逐个编译多个文件的方法,但还没有成功.通过搜索互联网,我找到了这个这个页面,后者说

所有这些增量编译功能都在Chapel编译器中使用新的--incremental标志启用,该标志将在Chapel 1.14.0版本中提供.

虽然我的计算机上的Chapel编译器接受此选项,但在编译仅包含过程的文件(即没有main())时,它似乎不会生成任何*.o(或*.a?).这是因为上述项目是实验性的......?在这种情况下,我们可以期望这个功能被包含在Chapel的某个未来版本中吗?

(或者,上面的"增量编译"这个词不是我对GCC这样的通常编译器的预期吗?)

我的环境:在Mac OSX 10.11.6上通过自制软件安装Chapel-1.14.0.

Lyd*_*can 3

Chapel 实现仅完全编译通过执行 main() 例程使用的代码。作为开始尝试,增量编译项目试图最小化通过正常编译编译的代码与使用 --incremental 标志编译的代码之间的可执行差异。这是为了确保用户在一种模式下开发时不会遇到与另一种模式不同的错误集。因此,仅包含过程的文件在使用该文件/过程时尝试编译之前不会被编译。

您引用的项目是一个很好的开始,但向团队暴露了许多我们之前没有考虑过的考虑因素(包括您提出的项目)。我们仍在讨论此功能的未来方向,因此尚不完全清楚这会带来什么。一种可能的扩展是“单独编译”,其中代码可以编译成可以链接到其他程序的 .o 或 .a。不过,这仍然在讨论中。

如果您对如何开发此功能有想法,我们很乐意通过我们的 Github 页面上的问题或通过我们的开发人员或用户邮件列表听到他们的想法。