在过去的几周里,由于各种不同的原因,我一直进入Ada。但是毫无疑问,有关我为何使用Ada的个人原因的信息超出了此问题的范围。
从前几天开始gprbuild,我开始使用Windows版本的GNAT附带的命令,以便获得以项目相关的方式管理我的应用程序的系统的好处。也就是说,能够在每个项目的基础上定义某些属性,而不是自己手动设置编译阶段。
目前,当命名我的文件时,它们的名称基于似乎是的标准grpbuild,尽管我可能会很错。对于句点(在包结构中),-在文件名中放置a ,对于下划线,_将相应地放置a。因此,名称相同的软件包App.Test.File_Utils的文件名将为app-test-file_utils:.ads,.adb因此。
在.gpr项目文件中,我指定了:
for Source_Dirs use ("app/src/**");
Run Code Online (Sandbox Code Playgroud)
这样我就可以使用多个目录来存储我的文件,而不需要将它们全部都放在同一个目录中。
但是,出现的问题是文件名往往变得很长。因为我已经根据文件包含的包名称将文件放在目录中,所以我想知道是否有某种方法可以使编译器理解可以从文件的目录名中检索包名称。
也就是说,我不必将其命名为App.Test.File_Utils文件名app-test-file_utils,而是希望它app/test通过name 驻留在目录下file_utils。
这是可行的,还是会令我最终不得不按以下方式命名我的文件的恐惧app-test-some-then-one-has-more_files-another_package-knew-test-more-important_package.ads?当然,我没有错过有关Ada应用程序实际结构的一些知识。
我试图package Naming在gpr文档中的文件配置中寻找答案,但无济于事。此外,我一直在浏览网络以获取信息,但我决定最好通过Stackoverflow寻求帮助,以便将来可能会遇到此问题的其他人(首先是遇到问题的人)也可能会获得帮助。 。
任何正确方向的指点都会非常有帮助!