![](https://img-blog.csdnimg.cn/20190918140145169.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
【004】工具杂项
文章平均质量分 55
【004】工具杂项
MeepoB
小菜鸟
展开
-
Makefile 变量值
函数会在Makefile加载时执行一次,而不是在每次执行规则时执行。总结来说,当您需要在Makefile加载时执行shell命令并获取输出结果,或者在规则中需要使用shell命令的输出结果时,可以使用。请注意,在Makefile中编写条件语句时,需要使用Tab键进行缩进,并确保条件和命令之间的空格正确。使用这种方式,可以在规则中使用条件语句来执行shell if命令,并根据条件的结果执行相应的命令。如果想在每次执行规则时都执行条件语句和命令,可以将它们直接写在规则中,而不是放在变量中。原创 2023-10-23 16:30:41 · 185 阅读 · 0 评论 -
GetCachedSize() 需要 ByteSize()后有效
若 进行序列化 SerializeToArray 或 SerializeToString 等调用后, GetCachedSize() 不为 0, 因为这些序列化函数中调用了 ByteSize(), _cached_size_ 被赋值。protobufer 中, 假设 repeated 字段 msg。GetCachedSize() == 0, 仍为0;原创 2023-10-08 16:24:17 · 73 阅读 · 0 评论 -
goland github提交失败
goland github提交失败原创 2022-12-11 17:09:31 · 200 阅读 · 1 评论 -
GCC编译优化应用预编译头(二)
工具:https://github.com/wangxiaobai-dd/GccPrecompiledHeader对原先的工具进行了更新可以将包含预编译头文件(如inc.h)的 cpp 文件替换还原若 inc.h 包含 a.h、b.h,使用工具后 目录下 *.cpp 中 inc.h 都被替换为 a.h b.h[unified] 可选参数,指包含多个 cpp 文件的 unified cpp进行递归检查头文件包含, 若 a.cpp 包含 a.h ,而 a.h 中还包含其他头文件,并且在 FindDir原创 2022-06-12 19:42:57 · 234 阅读 · 0 评论 -
GCC编译优化应用预编译头
服务器编译优化记录 对项目编译优化过程中一些思路和脚本工具实现。对内存受限的编译环境有一些帮助。环境 32G内存,16核,Makefile,gcc9.2效果 选择了代码比较多的三个目录进行预编译头优化,进行下述操作。另外: 将小的编译单元合并成大的编译单元也是有效的,如 com.cpp 包含 a.cpp b.cpp , 在com.cpp 中首行也需要 #include "inc.h" ),编译时间从 24min30s左右 降到 14min 左右 ,节省 40%以上编译时间方法 .原创 2022-03-19 17:32:52 · 5667 阅读 · 0 评论 -
使用mold链接器
使用超级快的链接器: https://github.com/rui314/mold更有效的算法和数据结构, 高度并行安装git clone https://github.com/rui314/mold.gitcd moldgit checkout v1.0.1make -j$(nproc) CXX=clang++或者GCC,需要支持c++20的编译器sudo make installMakefile:PREFIX ?= /usr/localBINDIR ?= $(PREFIX)/bi原创 2022-01-18 14:30:42 · 1012 阅读 · 0 评论 -
每日自动调用Tscancode, 服务器代码检查,Web 查看结果
每日自动调用Tscancode, Web 查看结果1 Runrun Source/BackEnd/bin/EveryDayScan using rootorrun Source/BackEnd/src/build.shWe can get results by visiting http://yourip:port2 See Source/BackEnd/bin/config.ini[Project]Path: Scan path of projectDirs: Project’s dir原创 2021-12-04 17:50:22 · 806 阅读 · 0 评论 -
C++ 提高编译速度(一) GCC预编译头
C++ 提高编译速度(一) GCC预编译头原创 2020-03-21 21:18:41 · 1460 阅读 · 0 评论 -
C++ 提高编译速度 (二) 解决方案实现 | 预编译头 多核编译
C++ 提高编译速度 (二) 解决方案实现 | 预编译头 多核编译原创 2021-01-16 13:04:20 · 1293 阅读 · 0 评论 -
C++ 提高编译速度(三) 友好的编译信息输出
C++ 提高编译速度(三) 友好的编译信息输出原创 2021-01-16 14:39:58 · 330 阅读 · 0 评论 -
Protobuf Summary(一) 概览
这是对protobuf 在项目中的应用和日常学习的总结。项目应用:存储。使用 protobuf 序列化,之后mysql 持久化到库表的 blob 字段; 消息传递。客户端与服务器、服务器与服务器间通讯,将proto消息序列化到原始struct消息变长字段中。相关知识:编译配置CMake生成pb.h, pb.cc #使用 protobuf_generate_cppfile...原创 2020-04-21 21:48:48 · 329 阅读 · 0 评论 -
ProtoBuf Summary(二)C++ Arena API & 源码
这篇是protobuf 提供的c++ API 阅读记录。protobuf c++ API 分四个部分: ① google::protobuf ②google::protobuf::io ③google::protobuf::util ④google::protobuf::compilergoogle::protobuf说明:这部分是protocol buffer 运行时库的核心组件。cl...原创 2020-04-29 18:01:23 · 1653 阅读 · 0 评论 -
libevent 接口函数 event, bufferevent
event_base : 跟踪事件event_new() : 监听描述符 fdevent_add() :添加事件监听event_base_dispatch() : 循环 分发事件event_enable_debug_mode () : 开启debugevent_assign : 自定义结构 控制描述符编译:Setting up the Libevent libraryevent_set_log_callback : 重写 logevent_set_mem_functio..原创 2021-07-08 11:42:23 · 344 阅读 · 0 评论 -
ELK概念
Elasticsearch 日志存储,高效的分布式搜索和分析引擎Index:索引 ,一个index 像关系数据库中的databasedocument : Row ,一个table中的一行数据Type:数据库中的一个tableFiled : table中的一个列物理层面:Node:每个node运行一个Elasticsearch 实例, 一个Node一个单独的ServerCluster:Cluster是多个Node集合Shard:一个index多个shard...原创 2020-12-13 10:24:42 · 111 阅读 · 0 评论 -
GDB | 子进程调试 | 打印内存
gdb 默认追踪父进程运行 子进程独立运行i inferior 查看进程状态 inferior 2 切换到进程2set follow-fork-mode child 调试子进程set detach-on-fork off 同时调试父子进程 另一个进程挂起set schedule-multiple on 父子进程同时开启set scheduler-locking on 让其他线程暂停执行add-inferior [ -copies n ] [ ...原创 2020-12-13 10:26:51 · 539 阅读 · 0 评论 -
Makefile
= 是最基本的赋值:= 是覆盖之前的值?= 是如果没有被赋值过就赋予等号后面的值+= 是添加等号后面的值make 会将整个 makefile 展开后,再决定变量的值。也就是说,变量的值将会是整个 makefile 中最后被指定的值。看例子: x = foo y = $(x) bar x = xyz在上例中,y 的值将会是 xyz bar,而不是 foo bar。2、“:=”“:=”表示变量的值决定于它在 makefile 中的...原创 2020-12-13 10:27:32 · 239 阅读 · 0 评论 -
CMake
https://blog.csdn.net/weixin_34121282/article/details/87972772 macrocmake如果源文件(例如 CPP)中包含第三方头文件,但是头文件(例如 hpp)中不包含该第三方文件头,采用 PRIVATE。如果源文件和头文件中都包含该第三方文件头,采用 PUBLIC。如果头文件中包含该第三方文件头,但是源文件(例如 CPP)中不包含,采用 INTERFACE# CMake 最低版本号要求cmake_minim...原创 2020-12-13 10:27:56 · 125 阅读 · 0 评论 -
sourceCRT vim配置
SessionOption中文设置:vimrc配置:set cinset incsearchset encoding=cp936syntax enablesyntax onfiletype plugin indent onset autoreadset numberset laststatus=2set tags=./tags,tags;$HOMEset pastetoggle=set hlsearch原创 2020-05-20 11:51:21 · 217 阅读 · 0 评论