我们在 Linux 下有一个相当大的(280 个二进制文件)软件项目,目前它有一个非常分散的代码结构——这意味着人们无法[计算出] 源树中的哪些代码是有效的(构建到可部署的二进制文件)以及什么是有效的已弃用。但是 Makefile 很好。我们需要计算整个项目的 C/C++ SLOC。
这是一个问题 - 我可以找出 SLOC GCC 已经编译了吗?或者我可以从二进制文件中获取这些信息(可能是调试信息)?或者我可以找出二进制编译的源文件并使用此信息来计算 SLOC?
谢谢
博格丹
最佳答案
您需要的第一件事是您实际编译的内容的准确列表。您可以通过使用包装脚本而不是 gcc 来实现这一点。
您需要的第二个列表是用于此的文件列表。为此,请查阅依赖项列表(正如您所说的那样)。 (似乎您需要 make --print-data-base)
然后,对文件列表进行排序和重复数据删除,并丢弃系统 header 。对于每个剩余的文件,使用您喜欢的工具确定 SLOC 计数。
关于c++ - 计算SLOC GCC C/C++ Linux,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/543812/