如何在目录中组织Ada项目?

时间:2013-05-12 16:07:31

标签: ada

如何加载两个名称相同但位于单独文件夹中的软件包?

示例:

/src/alpha/foopackage.ads
/src/beta/foopackage.ads

然后我想使用foopackages:

with alpha.foopackage; 
with beta.foopackage; 

另外,如果您有关于在Ada组织项目的任何其他提示,请写信。关于Ada网上项目组织的信息不多。

2 个答案:

答案 0 :(得分:4)

你已经解决了这个问题!

src / alpha / foopackage.ads包含:

package alpha.foopackage is

   ...

end alpha.foopackage;

而src / beta / foopackage.ads包含:

package beta.foopackage is

   ...

end beta.foopackage;

如果您正在使用GNAT及其默认命名约定,那么遇到临时问题。此命名约定要求文件分别命名为alpha-foopackage.ads和beta-foopackage.ads。

如果您坚持使用foopackage.ads作为文件名,则可以解决此约定。使用GNAT,请参阅Handling Arbitrary File Naming Conventions with gnatnameUsing Other File NamesAlternative File Naming Schemes

答案 1 :(得分:4)

这几乎与导致this answer的问题重复。

然而,还有另一个与命名有关的问题,即GNAT(我认为你使用的是GNAT?)有一个default file naming convention(有一些方法可以覆盖这个约定,但是你需要一个好的理由打扰)。

因此,您的源文件,无论您选择放入哪个目录,都应分别命名为alpha-foopackage.adsbeta-foopackage.ads