![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
文章平均质量分 50
ICanBiBi
这个作者很懒,什么都没留下…
展开
-
关于同名宏定义和变量的定义的一些思考
问题描述:在chromium项目中进行开发,子项目使用了rsyslog来进行日志读写,项目中有直接依赖的地方会间接依赖chromium的logging模块,具体是在base/logging.h中。rsyslog使用的日志级别LOG_INFO和LOG_WARNING与chromium的logging中定义的日志级别发生了同名冲突。我们在代码的地方,选择使用rsyslog的LOG_INFO而非logging。具体表现为:rsyslog用宏定义,logging用变量。我们在编译项目时始终无法编译通过。总是报如原创 2020-09-21 21:19:20 · 1054 阅读 · 1 评论 -
当chromium遇见prometheus-cpp
1. 背景最近基于chromium开发QUIC时,需要支持带宽统计的特性。经过调研发现了一个第三方库,即prometheus-cpp。于是便有了在chromium编译QUIC服务时依赖prometheus-cpp的需求。起初,按照prometheus-cpp提供的编译方法,使用cmake编译出了动态库(主要会使用到libprometheus-cpp-core.so和libpromemtheus-cpp-push.so)。但是在进一步chromium编译的时候,出现了很多undefined symbol的原创 2020-07-17 19:56:34 · 874 阅读 · 0 评论 -
定义和声明以及extern、static关键字
1. 定义只能进行一次,声明可以多次。2. 变量定义是为变量分配存储空间,也可以初始化,不初始化的定义如:int i;3. 声明是表明变量的类型和名称,因此定义也是声明。4 . 没有初始化的时候,有extern表示这是声明,不是定义,不分配存储空间,如:extern int i;5. 但是如果有初始化时,即使加了extern也是定义,如:extern int i =原创 2016-07-24 16:53:14 · 2281 阅读 · 0 评论 -
由static关键字引发的知识点学习和在类中的使用相关注意事项
第一部分(static在类中的应用以及相关例外情况)比较基础的是:在类中如果定义了static静态数据成员,在类中声明,但是在定义时需要在类外,而不能使用构造函数。比如://test.hclass test {private: static int num;……在类实现文件中,给出定义和初值://test.cp原创 2016-08-05 22:30:05 · 327 阅读 · 0 评论