当前位置: 首页 > news >正文

为新创业公司建设网站seo整站优化新站快速排名

为新创业公司建设网站,seo整站优化新站快速排名,西安网站建设 白帽网络,知识产权网站建设作为C领域中为数不多的好用、高效的、跨平台的日志工具,Google的开源日志库glog也算是凤毛麟角了。glog 是一个C实现的应用级日志记录框架,提供了C风格的流操作。 恰巧趁着五一我也学习研究了这个glog库,写个总结如下。走过路过的的各位牛人、…

作为C++领域中为数不多的好用、高效的、跨平台的日志工具,Google的开源日志库glog也算是凤毛麟角了。glog 是一个C++实现的应用级日志记录框架,提供了C++风格的流操作。

恰巧趁着五一我也学习研究了这个glog库,写个总结如下。走过路过的的各位牛人、高手可以忽略这篇文章了。

从code.google.com下载源码(在这里),在Visual Studio 2010中打开工程,如下:

                 

可见只有四个工程,其中libglog和libglog_static分别是Windows下的动态库和静态库,其实代码都是一样的,另外两个工程分别是测试工程(也是同一套代码),看名字都就知道了。

glog实现代码并不多,代码量统计如下:

                 

从上面看出真正有效的C/C++代码也就8000行以内吧。

直接编译,注意,竟然不能编译通过!!!我这里下载的是SVN 地址http://google-glog.googlecode.com/svn/trunk/上的r142版本,从编译错误可以找到原因,简单修改即可全部编译成功,就是将文件logging.cc中的第183、189、199、205行的ssize_t改为size_t,如下:

                 

实在不明白为什么还有这种情况发生,难道不应该至少保证编译没问题才会commit代码的么。而直接下载的稳定版(glog-0.3.3.tar.gz )则没有这个问题,看来开发版本都是不可靠的啊。

把所有代码从每个文件的代码量和实现复杂度做一个整体分析。

按代码行数排序:

                 

按复杂度排序(复杂度定义在不同工具中有不同表示,这里仅作参考):

                 

从这里也基本能看出重要的文件或函数实现了。另外按复杂度排序是排名第一的文件叫做demangle.cc,你在VS工程里并没有发现有这个cc,甚至都没有include相应的demangle.h,这个文件是干嘛的?随后再作分析(其实单看文件名就基本能猜到了)。

其中logging.cc是主要的功能实现,对该文件的分析如下:

                 

logging.cc中函数复杂度如下:

                

当然,不同人使用不同的分析工具,导致上面的结果会有一定的差异,仍以logging.cc为例,使用另外工具分析函数复杂度部分结果如下:

                

注意函数LogFileObject::Write和TruncateLogFile的复杂度排序计算值和排序顺序都不相同,但总体上来说都算是正常的,也算是都能管中窥豹吧。

有了这些简单的统计分析,接下来浏览代码就相对有方向性了,不过话说这个代码量总体来说也不多。像该代码中使用了大量的宏技巧,初看还是不好理解的,接下来会从代码上做点分析理解。

 

一直没有介绍glog,但是,如果你了解glog,那你肯定知道些什么了。最后把glog的特性或者说功能简单摘抄如下(处处都有,不显示引用原作了):

  1. 参数设置,以命令行参数的方式设置标志参数来控制日志记录行为;
  2. 严重性分级,根据日志严重性分级记录日志;
  3. 可有条件地记录日志信息;
  4. 条件中止程序。丰富的条件判定宏,可预设程序终止条件;
  5. 异常信号处理。程序异常情况,可自定义异常处理过程;
  6. 支持debug功能。可只用于debug模式;
  7. 自定义日志信息;
  8. 线程安全日志记录方式;
  9. 系统级日志记录;
  10. google perror风格日志信息;
  11. 精简日志字符串信息。

好吧这里还是给出我引用的文章:   

http://google-glog.googlecode.com/svn/trunk/doc/glog.html#verbose

http://mengjh.blog.51cto.com/2860827/546766

 

转载于:https://www.cnblogs.com/lizhenghn/p/3704749.html

http://www.lbrq.cn/news/2547469.html

相关文章:

  • 酒店vi设计上海网站seo诊断
  • 徐州丰县建设局网站上海优化网站
  • 上海建设网站是国家级吗域名注册官网
  • 又一个wordpress网站aso应用优化
  • wordpress耍留言上海seo公司排名
  • 西安专业做网站建设想做游戏推广怎么找游戏公司
  • 做百度移动端网站软件网站制作厂家有哪些
  • 温州做网站建设百度关键词优化的意思
  • 网站空间编辑器百度搜索量最大的关键词
  • 郑州网站建设品牌好北京疫情消息1小时前
  • 工会门户网站建设需求线上销售的方法和技巧
  • 遵义建设厅官方网站 元丰百度seo服务公司
  • 提交链接嘉峪关seo
  • 有没有做鸭子的网站小程序开发模板
  • 网站建设关键要做好哪些年度关键词
  • 服装东莞网站建设免费线上培训平台
  • 织梦怎么做网站提高网站排名的软件
  • 那个公司做网站好万词霸屏百度推广seo
  • 做简单网站怎么做百度保障客服电话
  • 帝国网站如何做中英文切换关键词检测
  • 怎样做教育视频网站2021年网络营销案例
  • 网站建设书籍论文天津百度推广中心
  • 精选南昌网站建设公司台州做优化
  • 网站轮播图片怎么做核心关键词和长尾关键词举例
  • 电子商务网站制作教程网站开发技术
  • 东莞教育网站建设青岛网络优化厂家
  • 做嗳啪啪 网站国内好的seo网站
  • 盐城网站建设制作方案湖南优化推广
  • 网站怎么制作成二维码济南seo快速霸屏
  • 网站建设所需要的技术搜索广告是什么意思
  • 江协科技STM32 12-2 BKP备份寄存器RTC实时时钟
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘altair’问题
  • 【neo4j】跨版本升级数据库
  • Kafka Streams窗口技术全解析:从理论到电商实时分析实战
  • XML 用途
  • 三十四、【Linux常用工具】rsync+inotify实时同步演示