c++源码多少行?

261 2025-01-20 04:17

一、c++源码多少行?

看软件工程方面的一些书时里面会提到源代码多少行.比如一百万行代码的项目与十万行代码的项目所采取的管理方式可能就不一样.于是就想了解下自己参与的项目目前有多少行代码了.但一问同事都说不太清楚,可能是几十万上百万的样子吧.这也太不准了.于是就想到写些代码去计算下.

其实方法很简单,只要遍历所有源文件,然后计算每一个源文件有多少行代码就行了.下面是详细的代码

using System.IO; //这个是文件读写操作用到的命名空间

using System.Text.RegularExpressions; //这个是正则表达式命名空间

int totalSourceCodeLines = 0; //定义个全局变量

public int GetsourceCodeLins(string projectPath) //参数是源文件所在的路径,比如D:\SourceCode\MyCode

{

CalculateTotalCodeLins(projectPath); //调用另一个函数

return totalSourceCodeLines;

}

private void CalculateTotalCodeLins(string projectPath)

{

//遍历所有目录

DirectoryInfo dir = new DirectoryInfo(projectPath);

foreach (DirectoryInfo dirInfo in dir.GetDirectories())

CalculateTotalCodeLins(projectPath + "\\" + dirInfo.Name); //递归调用

遍历目录下的所有源文件

foreach (FileInfo fileInfo in dir.GetFiles())

{

if (Regex.IsMatch(fileInfo.Name, @".*\.(h|cpp)")) //针对不同的源文件可以用正则表达式筛选,这里是C++源文件.

totalSourceCodeLines += CalculateCodeLines(projectPath + "\\" + fileInfo.Name); //调用另一个函数计算每个源文件多少行.

}

}

//计算每个源文件多少行

private int CalculateCodeLines(string soureFilePath)

{

FileStream fStream = new FileStream(soureFilePath, FileMode.Open);

StreamReader reader = new StreamReader(fStream);

int count = 0;

while (reader.ReadLine() != null)

{

count++;

}

reader.Close();

fStream.Close();

return count;

}

当然这样计算出来的行数可能不太准确.可以考虑一共多少个源文件,然后每个源文件平均有多少行头文件,多少空格.然后减去这些行数就相对比较准确了。

二、hashmap源码?

HashMap 类源码有一个非常重要的字段,就是 Node<K,V>[] table,即哈希桶数组,我们看一下源码,即Node[JDK1.8] 。HashMap 源码就是使用哈希表来存储的,哈希表为解决冲突,可以采用开放地址法和链地址法等来解决,Java 中的 HashMap 采用了链地址法。

链地址法简单来说就是数组加链表的结合,在每个数组元素上都有一个链表结构,当数据被 hash 后,得到数组下标位置,把数据放在对应数组下标元素的链表上。

三、shopex源码和易开店源码的区别?

SHOPEX已经停止开发升级了,取而代之的是易开店,易开店1.0版就是SHOPEX的终结版4.85;现在最新版1.1,易开店将程序和服务集成在一起了,至于源码基本一样

四、编译Android源码和内核源码的区别?

Android源码编译之后生成的是ramdisk.img、system.img和userdata.img。而内核源码编译完成之后生成的是ZImage。在一般情况下Android源码是不带有内核源码的,但是带有一个镜像,这样在编译完Android源码之后就可以模拟器启动了,如果要更换系统的内核,此时将高版本的内核源码进行编译生成ZImage然后替换Android系统的的镜像。这样使用模拟器启动之后就可以查看内核是否已经被刷新。

请注意,android源码和kernel源码是分开下载的

编译android源码

进入source目录下,执行make 即可。

编译完成后,可以在源码目录的out/target/product/generic/目录下看到编译好的ramdisk.img、system.img和userdata.img了。

编译内核源码

新建Kernel/goldfish,在这个目录下进行编译

五、什么是前端源码,什么是后台源码?

前端源码一般是指html,js,css等一些浏览器可直接运行的轻量级脚本. 后端源码一般指在某个编程环境下的运行的后端未编译的代码,如C#,java等,这些代码在未编译解释前无法被浏览器识别! 注:其实js也可以作为后端编程代码!即js也可是后端源码!但要借助于nodejs等运行工具!换句话说后端代码是需要一个运行环境的,而前端只需要支持浏览器就可以了

六、ubuntu下如何获取源码包和源码?

1、在获取源码包之前,确保在软件源配置文件/etc/apt/sources.list中添加了deb-src项

2、使用如下命令获取xxx源码包的详细信息: sudoapt-cacheshowsrcxxx这用来查询当前镜像站点中是否有该源码包。

3、源码包中通常包含3个文件,分别以dsc,orig.tar.gz和diff.gz为后缀名。 sudoapt-getsourcexxx命令来获取源码包,它会将源码包下载到用户当前目录 并在命令执行过程中,调用dpkg-source命令,根据dsc文件中的信息,将源码包解压到同名目录中,应用程序的源代码就在这里面。 sudoapt-getsourcexxx 要强调的是,在下载源码包前,必须确保安装了dpkg-dev(执行”apt-getinstalldpkg-dev”来安装), 否则,只会下载源码包的3个文件,但不会解压缩源码包。当然你也可以自己用dpkg-source命令去解压缩源码包。

4、在编译源码包前,需要安装具有依赖关系的相关软件包。使用”apt-getbuild-dep”命令可以主动获取并安装所有相关的软件包。 sudoapt-getbuild-depxxx

5、现在可以来编译源码包了,首先进入源码所在目录,使用dpkg-buildpackage命令来编译源码包,它会将生成的Deb软件包放置在上层目录中。cdxxx sudodpkg-buildpackage 这样就会编译生成xxx_i386.deb

6、安装软件包。使用”dpkg–i”命令来安装生成的Deb软件包。

七、源码怎么翻译?

企业代码: 采用国家统一规定的企业(单位)法人代码。代码由8位无属性的数字和一位校验码组成,标识在各级技术监督部门颁发的《单位代码证书》上,并按《单位代码证书》的代码填写。 暂无法人代码的,从临时码段中提取代码。企业代码就是企业组织机构代码.9位的.

八、源码是什么?

源码是计算机程序的原始代码,也叫做源文件,是表达一个程序解决问题的方式。它使用特定的编程语言编写而成,并且有助于理解如何实现一个特定的程序功能。

源码是可以被翻译成可执行文件的,以便在计算机上运行。源码是每个软件系统的核心,它是计算机程序的框架,把它们组合起来,产生最终的软件产品。

九、expma公式源码?

expma指标,它都是一种趋于类指标,其结构基本原理是对收盘价格开展算术平均,并依据数值来开展剖析,用以分辨价钱未来趋势的变化发展趋势。

expma指标研判方法

据了解,在expma指标源码中,该指标的构成由快手、慢线组成。EXPMA指标的坐标图上,纵坐标意味着价钱运作的价格,横坐标轴意味着价钱运作的时间。EXPMA指标的主要参数是12,50。计算公式函数:MA1:EMA(CLOSE,P1);MA2:EMA(CLOSE,P2);MA3:EMA(CLOSE,P3);MA4:EMA(CLOSE,P4)。

至于该指标简单的研判方法如何?1、当白线EXPMA由下往上穿越黄线EXPMA时,将对股价造成推升的动力。2、当白线EXPMA由上往下穿越黄线EXPMA时,将对股价造成推降的动力。3、股价由下往上碰触EXPMA时,横容易造成大的压力。4、股价由上往下碰触EXPMA时,横容易遭遇大支撑反弹。

十、hashmap源码原理?

HashMap实现原理:由数组+链表组成的,数组是HashMap的主体,在每个数组元素上都一个链表结构,当数据被Hash后,得到数组下标,把数据放在对应下标元素的链表上。

链表则是主要为了解决哈希冲突而存在的,如果定位到的数组位置不含链表,那么对于查找,添加等操作很快,仅需一次寻址即可;如果定位到的数组包含链表,对于添加操作,其时间复杂度依然为O(1),因为最新的Entry会插入链表头部,急需要简单改变引用链即可,而对于查找操作来讲,此时就需要遍历链表,然后通过key对象的equals方法逐一比对查找。所以,性能考虑,HashMap中的链表出现越少,性能才会越好。

顶一下
(0)
0%
踩一下
(0)
0%
相关评论
我要评论
点击我更换图片