2017-11-17 81 views
4

在C++中,当我需要​​的'actions.cpp'中的类时,我包含头文件,如#include <classes.h>。但尝试use classes.chpl失败,是否有一个.h相当于我应该使用?在Chapel文件中包含第二个源文件

+2

礼拜堂故意不必为了避免用户头文件时写

chpl -M helpers/ usesClasses.chpl 

保持两组声明彼此同步的开销。在我们发现自己需要类似头文件进行单独编译的那一天,我们希望编译器生成这样的文件,而不是要求用户手动维护它们。 – Brad

回答

3

仅适用于模块名称,不适用于完整的文件名称。如果你的文件classes.chpl没有一个明确的模块,内含它的全部内容,那么你会为了从另一个文件访问其内容类型

use classes; 

如果classes.chpl与具有use语句的文件在同一个目录中,那应该是访问其符号所需的全部内容。

如果classes.chpl位于不同的目录中,则还需要在编译时通过-M--module-dir标志指定其位置。例如,如果usesClasses.chpl有使用classes.chpl,并classes.chpl住在一个名为helpers目录,你会在编译程序

+2

有时,我们已经讨论过在Chapel中添加对某种'include'语句的支持,它类似于LaTeX中的C或'\ input'中的'#include'指令。这将支持将单个逻辑模块分成多个不同的文件。但是,该功能尚未实现,并且与'.h'和'.c'(接口与实现)考虑事项无关。可以把它看作是为了管理而跨越多个文件分割代码的一种手段,而不需要将代码分割成多个模块。 – Brad

相关问题