2017-11-17 85 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

相關問題