我有一个项目在蚊帐,我想列出所有的文件,从来没有使用。我正在考虑用python脚本来完成这个任务,但是,是否可以很容易地用小虫来完成呢?
更新:
我找到了关于gnatelim的信息,但是在帮助中,它说拥有-P选项
usage: gnatelim [options] -main=main_unit_name {filename} [-cargs gcc_switches]
options:
--version - Display version and exit
--help - Display usage and exit
-Pproject - Use project file project. Only one such switch can be used.它似乎不工作,因为它要求一个主要单元(拥有整个项目!):
>gnatelim -Prelease.gpr
gnatelim: No main unit specified
try "gnatelim.exe --help" for more information.我用的是小虫2015
发布于 2016-12-06 19:25:41
对gnatelim的帮助相当有限,但我做了一些实验,其中的诀窍似乎是将主单元的文件名传递给gnatelim:
gnatelim main.adb如果您的项目比包含所有所需源文件的单个目录更复杂,则可以传递gnatelim项目文件和主单元的文件名:
gnatelim -P black_examples.gpr client.adb发布于 2016-12-03 17:10:43
如果您的项目没有任何主要单元,则答案非常简单;不使用任何内容。
您需要至少有一个主单元,才能有一个参考来查看哪些单元不被使用。
在实践中,有一种比使用gnatelim更简单的可能性。将-gnatwe (将警告作为错误处理)与-gnatwa (打开大多数警告)组合在一起,-gnatwa将告诉您哪些withed单元是不需要的。
发布于 2016-12-06 23:42:35
作为Jacob's答案的后续,似乎有必要传递给gnatelim。
例如,在一个项目文件中,我列出了几个主要单元,如
for Main use ("pack-prog.ada", "driver.ada", ...);(还有for Executable ("pack-prog.ada") use ("prog");等)
指定零单位,如您所做的,或多个主单元,我得到
$ gnatelim -Pasnip pack-prog.ada driver.ada
gnatelim: No main unit specified
try "gnatelim --help" for more information. 指定一个单元,我得到
$ gnatelim -Pasnip pack-prog.ada
---------------------------------------------------------
-- List of unused entities to be placed in gnat.adc. --
---------------------------------------------------------
pragma Eliminate (...gnatelim或通过gnatelim提供的诊断信息似乎并不完全足够。
https://stackoverflow.com/questions/40909885
复制相似问题