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

5 ada

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

例子:

/src/alpha/foopackage.ads
/src/beta/foopackage.ads
Run Code Online (Sandbox Code Playgroud)

然后我想使用 foopackages 使用:

with alpha.foopackage; 
with beta.foopackage; 
Run Code Online (Sandbox Code Playgroud)

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

Mar*_*c C 5

你已经解决了问题!

src/alpha/foopackage.ads 包含:

package alpha.foopackage is

   ...

end alpha.foopackage;
Run Code Online (Sandbox Code Playgroud)

而 src/beta/foopackage.ads 包含:

package beta.foopackage is

   ...

end beta.foopackage;
Run Code Online (Sandbox Code Playgroud)

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

如果您坚持使用 foopackage.ads 作为文件名,则可以解决此约定。使用 GNAT,请参阅使用 gnatname 处理任意文件命名约定使用其他文件名替代文件命名方案