Chapel中的增量编译

时间:2017-01-28 17:50:56

标签: chapel

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

  

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

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

(或者,上面的“增量编译”这个词不是我对GCC等常用编译器的预期吗?)

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

1 个答案:

答案 0 :(得分:3)

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

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

如果您对如何开发此功能有所了解,我们很乐意通过our Github page上的问题或通过我们的开发人员或用户mailing lists来解答这些问题。