- 博客(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 791 1
原创 读写锁12345
读是同时的写是串行的// write locklock_guard<shared_timed_mutex> wrLk;// read lockshared_lock<shared_timed_mutex> rdLk;
2022-11-20 12:20:40 195
原创 带时戳的日志宏
#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 152
原创 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 327
原创 程序员的一些芝士
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 676 1
转载 socket
当创建一个TCP scoket 对象的时候会有一个发送缓冲区和接收缓冲区,这个发送和接受缓存区指的就是内存中的一片空间;要想发送数据必须通过网卡发送数据,应用程序是无法直接通过网卡发送数据的,他需要调用操作系统接口,也就是说,应用程序把数据先写入到缓存区,再有操作系统控制网卡把缓存区的数据发送给服务器网卡;应用程序是无法直接通过网卡接收数据的,他需要调用操作系统接口,由操作系统通过网卡接收,把接收的数据写入到接收缓存区,应用程序再从接收缓存区获取客户端的数据;说明发送的数据是发送到缓冲区接收.
2020-08-28 23:58:18 475
转载 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 2868
转载 C++ 日志、转存
功能归纳总结如下:1) 日志文件提供接口让用户配置日志文件名、日志大小上限、历史日志文件数目上限;2) 日志文件提供Append()接口,让用户向文件追加日志消息;3) 日志文件在执行Append()接口过程中,自动检测当前日志文件大小:如果追加当前消息后,文件大小超过约定上限,则记录当前消息前,将已有消息转储到历史文件并保证历史日志文件数不超过约定上限;否则,直接记录当前消息;4) 日志...
2020-03-27 22:20:05 580
原创 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 268
转载 输入二叉树前序遍历和中序遍历,输出二叉树的后序遍历,c++代码
前序:ABDGCEFH中序:DGBAECHF想要求后序就要把树重建出来,我们理一下思路。1.由前序遍历的性质可以知道A必然是树的根节点2.中序遍历中A之前的就肯定是A的左子树,A后面的就是A的右子树。好的,我们现在可以把中序分一下,变成:DGB | A | ECHF同样左子树和右子树在前序上也是连续的,所以我们可以分成 A | BDG | CEFH你一定已经想到递归了,对,如果只看...
2020-02-19 23:27:36 2463 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人