10分钟掌握高效代码行统计工具——cloc

article/2025/9/14 7:32:37

cloc

一款高效的代码行统计工具,且跨多平台:

  • Window
  • Linux
  • Mac
  • … …

高效是其优点,且稳定性比较好。
Linux版的可以处理超大工程的文件,不会出现其它同类工具在处理超大文件时崩溃的问题。

用法简单,学习成本低,尤其是看了我这篇文章之后就更低了。

安装

下载

最新版下载地址:
https://github.com/AlDanial/cloc/releases/tag/v1.96

本文介绍的是Linux版本,所以下载:
cloc-1.96.tar.gz

解压

tar -zxvf cloc-1.96.tar.gz

解压出文件目录:cloc-1.96
直接在cloc-1.96目录中执行cloc即可

官方网址

https://cloc.sourceforge.net/

官方开发库

https://github.com/AlDanial/cloc/

常用场景

基版本代码行统计

cd cloc-1.96
./cloc --skip-archive='(zip|tar(.(gz|Z|bz2|xz|7z))?)' --exclude-dir=biz_third_lib,kafka_2.12-2.2.0,3rd_libs --not-match-f='otlv4.h' /system_modules
  • –skip-archive 填写需要过滤掉的包种类,这里是一个正则表达式,例子中将zip、tar、tar.gz、tar.z、tar.bz2、tar.7z都过滤掉了
  • –exclude-dir 填写需要过滤掉的目录,注意不要写成xxx/yyy,直接写yyy
  • –not-match-f 填写要过滤掉的文件名,这里是一个正则表达式,表示要过滤掉这一类文件;也可以写具体文件名,这样就过滤这个文件
  • /system_modules 这是要统计的目录
  • –exclude-ext 填写需要过滤掉的指定扩展名的文件,例如txt,csv,xml
  • –exclude-lang 填写需要过滤掉的指定语言编写的文件,例如C,PHP,Java

输出

正常的方式是屏幕打印,下面是原始的打印格式:
在这里插入图片描述
也可以用我们熟知的方式打印:

csv形式

加参数 --csv
在这里插入图片描述

xml形式

加参数 --xml
在这里插入图片描述

输出到文档

当然也可以将屏幕打印输出到文档,加参数 --report-file=
例如:

。/cloc --xml --report-file=compare_result.xml /mnt/e/pythonProject/swPerfcalc

compare_result.xml:
在这里插入图片描述

指定统计的条件

可以添加下列参数:

  • –include-ext= 填写需要统计的扩展名,例如:c,cpp,py
  • –include-lang= 填写需要统计的文件的编写语言,例如:C,C++,Python
  • –match-d= 填写需要统计的目录,是个正则表达式,例如:‘/(src|include)/’,只统计/src/ 和 /include/目录下的文件
  • –match-f= 填写需要统计的文件,是个正直表达式,例如:‘^[Ww]idget’,只统计以Widget 和widget开头的文件

变更代码行统计

./cloc --diff /system_modules1 /system_modules2

统计结果:
在这里插入图片描述
在SUM下面可以清晰的看到新增、修改和删除的代码行数(code列)、文件数(file列)、注释行数(comment)

另外,前面章节中提到的参数也都适用。

工具参数详解

./cloc --help

http://chatgpt.dhexx.cn/article/HURhOTiQ.shtml

相关文章

前端代码统计工具cloc的安装与使用

怎么来衡量一个web端项目的大小,一是看页面多少,二是看源代码行数。页面多少比较好统计,通过 Router 的配置大概就能知道。但是源代码行数,如果要一个文件一个文件去计算,那就费了劲了。有问题有需求,就会有…

“无法启动mysql服务,错误1053”解决办法

启动MySQL服务时,报错如下: 1.“CTRLR”打开运行窗口,输入regedit点击确定打开注册表编辑器 2.找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL目录 3.修改ImagePath路径为mysqlld.exe路径,重启服务即可

解决Windows服务1053错误方法

WCF使用MSMQ绑定寄宿在Windows服务上,但启动服务时出现1053错误 在网上搜索了N多解决方案,都是比较高深的扯到原理和系统bug等问题 看了看到最后也没有解决,最终我决定使用一个比较山寨的但很有用的方式查看问题所在,所以就在代码…

windows无法启动MySQL服务出现1053错误原因之一

今天去使用mysql的时候出现了这样一个问题 我以为是mysql服务没开,去开启服务的时候出现 错误原因 服务的路径与安装的路径不一致,之前安装过mysql后卸载重装容易出现这样的问题,要么就是你可能从计算机上面卸载什么,组件程序&a…

无法启动OracleDBConsoleorcl服务,错误:1053 的解决办法 .

在控制面板里启动oracle的服务,其中启动OracleDBConsoleorcl服务时出错,提示:在本地计算机无法启动OracleDBConsoleorcl服务。错误:1053:服务没有及时相应启动或控制请求。重启电脑之后依然如故。请问怎么解决呢&#…

系统错误1058的解决办法

今天打算写个关闭windows系统服务的程序,发现了个错误 错误描述:无法启动Themes服务 错误详细步骤: 1.我以前禁用了服务themes 2.现在手动修改注册表HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Themes中的"Start"为3…

Win11安装mysql 服务无法启动 1053错误之解决方法

手动启动的时候报错1053. 网上查询解决方法 MySQL启动1053错误之解决方法_小智解说的博客-CSDN博客_mysql1053 方法一: 重装mysql,重装后发现还是启动失败 方法二 为提高网络服务权限,需将网络服务添加到管理员组 计算机->管理->本地…

计算机Auto服务错误1053,服务启动1053错误解决步骤

我们在使用电脑是由于各种原因,需要对一些服务进行启动,可是有些用户却遇到了一些问题,比如有用户在启动某服务的时候,却发现启动不了,提示服务启动1053错误,那么遇到这样的问题该如何处理呢?下…

sqlserver2000代理无法启动 报错 1053,已解决。

背景: win7 64位系统,上安装着sqlserver2000,打补丁失败后,代理启动失败。 出现2个问题: 1、 点击代理,报错,提示 “发生错误 缺少xpstar.dll” 2、下载 xpstar.dll,下载,简介,描述,修复,等…

Windows无法启动MongoDB Server服务(错误1053)

Windows无法启动MongoDB Server服务(错误1053) 问题描述问题解决尚存在疑问 问题描述 作为一个代码界的小白,今天在准备使用MongoDB的过程中,出现了代码为1053的错误。为了避免下次再遇到该错误时忘记如何处理,在这里…

关于MYSQL无法启动(错误1053)

错误原因 下载vcredist_64.exe并安装,打开服务找到MYSQL重新启动即可

mysql 发生系统错误5,拒绝访问,网络服务,错误1053

原因 1.非管理员身份运行,大部分情况都是这个原因 解决方法: 我们只要以管理员身份运行“命令提示符”,执行命令就不会提示“发生系统错误5,拒绝访问。”了,就解决了。以Win10系统为例,点击“开始菜单”-…

MYSQL启动报错1053错误解决

在网上有人说是服务的“登录”选项卡里要设置成administrator; 也有人说是要用DOS命令行使用 mysqld -nt remove mysqlservice和 mysqld -nt install mysqlservice 重新安装服务。但是这些并解决不了问题。 后面我发现原来是因为修改了配置文件,Windo…

Windows安装Mysql,服务无法启动,错误1053处理

作者:IT邦德 中国DBA联盟(ACDU)成员,目前从事DBA及程序编程 (Web\java\Python)工作,主要服务于生产制造 现拥有 Oracle 11g OCP/OCM、 Mysql、Oceanbase(OBCA)认证 分布式TBase\TDSQL数据库、国…

mysql服务无法启动1053错误已解决

问题描述 昨天还是好好的,第二重新运行idea时,出现The last packet sent successfully to the server was 0 milliseconds ago错误,开始以为是由于数据库回收了连接,而系统的缓冲池不知道,继续使用被回收的连接所致的。…

本地计算机无法启动1053,服务启动1053错误解决方法_错误1053无法启动服务怎么办...

我们都知道,电脑中的系统是需要经过不断的完善才能够满足用户的需求,其中也包括系统中新增的服务,对于系统中众多的关键服务,有些系统服务是设置为自动 的,但是就是启动不了,在本地服务窗口中只能启动该服务…

Windows无法启动启动服务,错误1053的解决方法

Windows无法启动启动服务,错误1053的解决方法 项目需求,要将一个exe二进制文件以windows服务的形式发布,开发编译运行后一切正常。sc命令安装为windows服务启动,出现下图错误:Windows无法启动启动服务,错误…

windows无法启动MySQL服务出现1053错误解决方法

今天打开mysql,出现这样的一个错误弹窗: 我以为是mysql服务没有启动,于是去启动服务,发现出现 Windows无法启动MySql服务(位于本地计算机上)。错误 1053:服务没有及时响应启动或控制请求的错误信…

plsql 快捷键 设置 字母大小写

tool>>>preferences>>>user inrerface>>>key configuration>>>然后进行设置 例如设置字母大小写,字母大小写edit处 ,然后点击edit/selection/uppercase设置字母大写快捷键,入ctrlU; 同样的方法设置字母…

Qt快捷键之大小写切换

文章目录[隐藏] Qt 大小写切换快捷键Qt 大小写切换效果 Qt 大小写切换快捷键 选中的文本变小写 :AltU选中的文本变大写 :AltShiftUQt 大小写切换效果 切换前 切换后