自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 gdb符号表

g++ enum.cpp -o enumg++ enum.cpp -o -g debugobjcopy --only-keep-debug debug debug.symbolgdb —symbol=debug.symbol -exec=enum

2022-11-26 21:39:55 728 1

原创 读写锁12345

读是同时的写是串行的// write locklock_guard<shared_timed_mutex> wrLk;// read lockshared_lock<shared_timed_mutex> rdLk;

2022-11-20 12:20:40 177

原创 带时戳的日志宏

#include <sys/time.h>#include <iostream>#include <cstdio>#include <cstring>static constexpr uint32_t YEAR_MONTH_DAY_LEN = 28U;void PrintTimeStampByNow(){ struct tm tm; struct timeval tv = {0}; gettimeofday(&tv,

2022-11-11 20:29:25 125

原创 c++ 时延打点

const auto start = std::chrono::high_resolution_clock::now();const auto end = std::chrono::high_resolution_clock::now();uint64_t GetDuration(std::chrono::time_point<std::chrono::high_resolution_clock> start, std::chrono::time_point<std::chrono:

2022-11-11 20:07:22 300

原创 程序员的一些芝士

ssh https://blog.51cto.com/zjking/1117828 gdb https://cnblogs.com/lsgxeva/p/8024867.html cmakehttps://cnblogs.com/ZY-Dream/p/11232779.htmlhttps://jianshu.com/p/347f365ac1e4 pclint https://stellar.cleanscape.net/products/cpp/checks.html Complete 补全

2022-11-03 15:50:15 653 1

转载 socket

当创建一个TCP scoket 对象的时候会有一个发送缓冲区和接收缓冲区,这个发送和接受缓存区指的就是内存中的一片空间;要想发送数据必须通过网卡发送数据,应用程序是无法直接通过网卡发送数据的,他需要调用操作系统接口,也就是说,应用程序把数据先写入到缓存区,再有操作系统控制网卡把缓存区的数据发送给服务器网卡;应用程序是无法直接通过网卡接收数据的,他需要调用操作系统接口,由操作系统通过网卡接收,把接收的数据写入到接收缓存区,应用程序再从接收缓存区获取客户端的数据;说明发送的数据是发送到缓冲区接收.

2020-08-28 23:58:18 456

转载 c++之ioctl

#include <unistd.h>int ioctl(int fd, int request, /* void *arg */)返回值:成功0,失败-1我们可以把和网络相关的请求划分为6类:套接口操作文件操作接口操作ARP高速缓存操作路由表操作流系统类别Request说明数据类型套接字SIOCATMARK是否位于带外标记intSIOCSPGRP设置套接口的进程ID或进程组IDintSIOCGPGRP获取套接口的进程

2020-06-18 23:47:14 2699

转载 C++ 日志、转存

功能归纳总结如下:1) 日志文件提供接口让用户配置日志文件名、日志大小上限、历史日志文件数目上限;2) 日志文件提供Append()接口,让用户向文件追加日志消息;3) 日志文件在执行Append()接口过程中,自动检测当前日志文件大小:如果追加当前消息后,文件大小超过约定上限,则记录当前消息前,将已有消息转储到历史文件并保证历史日志文件数不超过约定上限;否则,直接记录当前消息;4) 日志...

2020-03-27 22:20:05 545

原创 std::list、std::map

std::list 不能使用[]访问元素,也没有at()接口list.push_back()auto iter = list.begin()std::map默认根据key值进行升序排列std::map<int, int> m; // key, valuem.insert({1, 0});m.insert({2, 0});m.insert({1, 3}); // 这里不会覆...

2020-03-16 23:03:09 246

转载 输入二叉树前序遍历和中序遍历,输出二叉树的后序遍历,c++代码

前序:ABDGCEFH中序:DGBAECHF想要求后序就要把树重建出来,我们理一下思路。1.由前序遍历的性质可以知道A必然是树的根节点2.中序遍历中A之前的就肯定是A的左子树,A后面的就是A的右子树。好的,我们现在可以把中序分一下,变成:DGB | A | ECHF同样左子树和右子树在前序上也是连续的,所以我们可以分成 A | BDG | CEFH你一定已经想到递归了,对,如果只看...

2020-02-19 23:27:36 2408 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除