XZ_iOS 计算OC代码的总行数

公司需要对代码进行漏洞查看,是按行收费的,所以,需要我们计算代码的行数。因为是按行收费的,所以,尽量去掉空行最靠谱了,方式如下:

终端中,首先 cd 到需要计算行数的文件夹:

cd /Users/admin/Meaild/Meaild/classes

终端输入计算代码行数的命令,下面的是不计算空行的指令,既去掉空行:

find . -name "*.m" -or -name "*.h" -or -name "*.xib" -or -name "*.c" |xargs grep -v "^$"|wc -l

下面是计算空行的指令,既包括空行:

find . -name "*.m" -or -name "*.h" -or -name "*.xib" -or -name "*.c" |xargs wc -l

搜索范围是所有的.h、.m、.xib文件和后缀是.c的文件,计算空行和不计算空行的区别是 grep -v "^$" 这一句。

计算的结果会在最后一行显示,如下图代码的总行数是 250696行。

:或者 

<think>我们正在讨论Bitbake编译过程中的线程限制问题。用户询问了关于XZ_THREADS参的作用以及是否需要修改它来限制线程个。根据引用[2]的内容,xz工具在旧版本中不支持多线程压缩,而新版本(如5.2.4)支持通过-T参指定线程。在Bitbake构建过程中,xz通常用于压缩任务(如压缩包或镜像文件)。因此,XZ_THREADS环境变量或构建参可能用于控制xz压缩时的线程。在Bitbake环境中,XZ_THREADS通常不是Bitbake的核心配置变量,而是传递给xz工具的选项。在构建过程中,xz可能被多个任务调用,例如压缩根文件系统或打包镜像。如果用户希望限制xz压缩步骤的线程,可以设置XZ_THREADS环境变量。然而,在Bitbake中更常见的做法是通过全局变量(如PARALLEL_MAKE)或任务级别的参来控制并行度。具体到xz压缩,用户可以通过以下方式设置:1.**在local.conf中设置环境变量**:在`conf/local.conf`文件中添加:```exportXZ_THREADS="4"```这样,在Bitbake执行过程中,所有调用xz的任务都会使用这个环境变量。2.**在任务中直接传递参**:如果某个特定的recipe需要控制xz线程,可以在该recipe的do_install或do_package等任务中添加:```do_install(){XZ_THREADS=4xz-dsomefile}```3.**通过Bitbake的全局配置影响xz**:Bitbake的BB_NUMBER_THREADS控制的是Bitbake任务级别的并行度(即同时运行的任务),而PARALLEL_MAKE控制的是make命令的并行度(即每个任务内部的编译线程)。它们并不直接影响xz工具。因此,如果需要限制xz的线程,单独设置XZ_THREADS是必要的。**是否需要修改XZ_THREADS?**-如果构建过程中出现资源紧张(如内存不足)导致xz压缩失败,或者用户希望减少压缩步骤对系统的影响,那么限制XZ_THREADS是有益的。-在资源受限的系统(如嵌入式开发机)上,建议将XZ_THREADS设置为一个较小的值(如2或4)。-在默认情况下,xz可能会尝试使用所有可用的CPU核心,这可能导致系统负载过高。因此,用户可以根据实际情况决定是否设置XZ_THREADS。如果构建过程中压缩步骤成为瓶颈或导致系统不稳定,则应该设置。**结**:-XZ_THREADS用于控制xz压缩工具的线程。-在Bitbake中,可以通过设置环境变量(如exportXZ_THREADS)来限制xz的线程。-修改XZ_THREADS不是必须的,但在资源受限的环境中推荐设置。§§相关问题§§1.如何监控Bitbake构建过程中各任务(包括压缩任务)的资源占用情况?2.除了xz,Bitbake构建过程中还有哪些工具可能需要单独设置线程?3.在Bitbake中如何为特定任务设置环境变量?</think>### Bitbake编译中`XZ_THREADS`参的作用及修改建议 #### 1. **XZ_THREADS参的作用** `XZ_THREADS`是控制**xz压缩工具线程**的专用参(非Bitbake核心变量): - **功能**:限制xz在多线程压缩时的并行度(引用[2]) - **与Bitbake的关系**: - xz常用于压缩Bitbake生成的镜像/包文件(如rootfs.tar.xz) - 默认行为:xz会尝试使用所有可用CPU核心(引用[2]示例中12线程机器占用率600%) - 独立于Bitbake的`BB_NUMBER_THREADS`(后者控制任务级并行度) #### 2. **是否需要修改以限制线程?** **需要修改的场景**: - **资源受限系统**:嵌入式设备内存不足时,xz多线程压缩易引发OOM(引用[2]提到高压缩率时CPU占用异常) - **混合编译环境**:当同时运行Bitbake多任务和xz压缩时,需避免资源争用 - **特定性能需求**:如降低压缩优先级(`-6`比`-9`更易利用多核,引用[2]) **无需修改的场景**: - 系统资源充足(如服务器构建) - 压缩非瓶颈步骤(小文件压缩耗时可忽略) #### 3. **修改方法** 在Bitbake环境中通过两种方式控制: ```bash # 方法1:在conf/local.conf中全局设置 XZ_THREADS = "4" # 限制xz最多使用4线程[^2] # 方法2:在特定recipe中覆盖 do_compress() { XZ_THREADS=4 xz -k -z ${FILE} } ``` #### 4. **最佳实践** - **线程建议**: - 安全值:`min(物理核心, 4)`(尤其内存<16GB时) - 验证命令:`xz -T $N -k testfile`(观察`top`中的CPU%) - **关联优化**: ```bash # 与Bitbake主线程设置协同(引用[1]) BB_NUMBER_THREADS = "8" # 任务级并行度 PARALLEL_MAKE = "-j 6" # make编译线程 XZ_THREADS = "2" # 压缩专用线程 ``` > **关键结论**:在资源受限环境中**必须修改`XZ_THREADS`**,否则xz可能耗尽内存(引用[2]示例)。典型场景设置为物理核心的1/3。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值