bug修理工
码龄11年
关注
提问 私信
  • 博客:64,805
    64,805
    总访问量
  • 18
    原创
  • 127,677
    排名
  • 40
    粉丝
  • 0
    铁粉
  • 学习成就
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2013-12-23
博客简介:

捕猫达人的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    2
    当前总分
    150
    当月
    1
个人成就
  • 获得86次点赞
  • 内容获得26次评论
  • 获得284次收藏
  • 代码片获得107次分享
创作历程
  • 1篇
    2024年
  • 2篇
    2023年
  • 1篇
    2022年
  • 4篇
    2021年
  • 10篇
    2020年
  • 1篇
    2017年
成就勋章
TA的专栏
  • c/c++
    9篇
  • linux
    5篇
  • mongodb
    1篇
  • 开发工具
    1篇
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

352人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

std::thread::native_handle介绍

是一个用于获取底层线程句柄的成员函数。这个句柄可以用来进行更低级别的操作,通常是与操作系统相关的线程操作,这些操作在标准 C++ 线程库中可能不提供直接的接口。
原创
发布博客 2024.06.06 ·
735 阅读 ·
5 点赞 ·
0 评论 ·
3 收藏

readv和writev函数简介

函数通常在需要合并多个缓冲区的数据或将数据分散到多个缓冲区的场景中使用。函数是UNIX系统提供的一组高级I/O函数,用于在一次系统调用中读取或写入多个缓冲区中的数据。这些函数对于减少系统调用的次数,提高效率和性能非常有用。函数用于从文件描述符中读取数据到多个缓冲区中。它将数据从文件描述符读取到指定的缓冲区数组。函数用于将数据从多个缓冲区中写入文件描述符。它将多个缓冲区中的数据一起写入文件。结构描述一个缓冲区的地址和大小。结构描述一个缓冲区的地址和大小。是要读取数据的文件描述符。是要写入数据的文件描述符。
原创
发布博客 2023.10.28 ·
1032 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

一次sqlite执行select慢的排查记录

sqlite 慢查询 优化速度
原创
发布博客 2023.10.10 ·
1254 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

live555 windows通过命令行编译

记录live555在windows下的编译过程准备工作:vs2017 live555源码参考了网上很多的案例,绝大部分是用vs2017去新建工程,然后手动添加4个库和可执行文件的工程。但我觉得这样太麻烦,因为live555的源码目录下是有windows下的项目构建相关文件的,理应可以通过命令行来快速编译。好在,找到了可行的参考方案。编译方法,参考VS2017下Live555的编译 - kaixin開訫 - 博客园这里就不贴原博了。1.准备工作,2.环境配置,3.编译,这三步简单快速,照着做就
原创
发布博客 2022.05.31 ·
772 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

c++调用函数时,拷贝构造函数调用的时机及次数

首先看下如下代码:#include <iostream>using namespace std;class Copyable {public: Copyable(){} Copyable(const Copyable &o) { cout << "Copied" << endl; }};Copyable ReturnRvalue() { return Copyable(); //返回一个临时对象...
原创
发布博客 2021.02.24 ·
3008 阅读 ·
3 点赞 ·
0 评论 ·
18 收藏

二维、三维数组初始化及遍历

二维数组初始化及遍历: int arr2[3][4] = { {43,35,61,72}, {65,33,55,22}, {23,56,33,77} }; //方法1 cout << "Method 1:
"; for(int i = 0; i < 3; i++) { for(int
原创
发布博客 2021.02.04 ·
1162 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

const属性总结

constconst对象必须初始化,const对象一旦创建后其值就不能再改变;const int k; //错误:K是一个未经初始化的常量可以编译时初始化:const int i = 42;也可以运行时初始化:const int j = get_size();//用来初始化const对象的无需在意是不是一个常量当一个常量初始化方式属于编译时初始化,则编译器将在编译过程中把代码中所有用到该变量的地方都替换成其对应的值。如:const int bufSize = 1024; //编译器会找
原创
发布博客 2021.01.08 ·
911 阅读 ·
0 点赞 ·
1 评论 ·
3 收藏

对大文件写操作时谨慎使用fseek/lseek

fseek/lseek在某些情况会产生read系统调用?在测试某厂家的云存储产品的性能时,发现一个比较诡异的问题,即在将视频流数据写入磁盘的过程中,监测到了大量的读操作(read系统调用),每个操作文件较大,有几百兆,大量的读操作会一定程度上降低写入的性能。但是在经过代码排查后,确定在写入数据的过程中是没有出现fread、read调用的,那么问题来了,read调用从何而来?由于从创建文件到关闭,中间除了fwrite之外还有fseek和fteel操作,当时将目标锁定在这两个标准函数上。(记:在一次
原创
发布博客 2021.01.05 ·
3012 阅读 ·
4 点赞 ·
1 评论 ·
5 收藏

glibc大量小内存的释放

之前在项目中,发现内存在某些情况下飙升,然后无法降下来的情况,记录一下解决过程。大概情况就是:程序在运行中需要不停申请小块内存用来接收传输过来的视频数据,将数据保存到磁盘后然后释放掉free掉,正常情况下,总的占用内存维持在一个合理的水平,但是如果磁盘出现写入性能下降的情况时,造成接收的数据堆积,此时需要去申请更多的内存来缓存数据,此时进程总的占用内存变显著增大,这种情况也是合理的。按道理,如果接下来磁盘写入性能恢复正常,缓存的数据减少,大部分申请的内存释放,此时进程占用的总内存应该恢复到正常水平。但是
原创
发布博客 2020.12.31 ·
5682 阅读 ·
10 点赞 ·
4 评论 ·
33 收藏

lib和dll生成和使用

简介首先介绍一下静态库(静态链接库)、动态库(动态链接库)的概念,首先两者都是代码共享的方式。静态库:在链接步骤中,连接器将从库文件取得所需的代码,复制到生成的可执行文件中,这种库称为静态库,其特点是可执行文件中包含了库代码的一份完整拷贝;缺点就是被多次使用就会有多份冗余拷贝。即静态库中的指令都全部被直接包含在最终生成的 EXE 文件中了。在vs中新建生成静态库的工程,编译生成成功后,只产生一个.lib文件动态库:动态链接库是一个包含可由多个程序同时使用的代码和数据的库,DLL不是可执行文件。动
原创
发布博客 2020.12.28 ·
617 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

std::condition_variable::wait()

std::condition_variable::wait()使用记录:std::condition_variable::wait()有两个重载函数:unconditional (1) void wait (unique_lock<mutex>& lck); predicate (2) template <class Predicate> void wait (unique_lock<mutex>&
原创
发布博客 2020.12.01 ·
12961 阅读 ·
9 点赞 ·
4 评论 ·
32 收藏

nginx-1.0.1.tar.gz

发布资源 2020.10.30 ·
gz

nginx-gridfs.tgz

发布资源 2020.10.30 ·
tgz

mongodb-linux-x86_64-rhel70-3.0.15.tgz

发布资源 2020.10.30 ·
tgz

Nginx+GridFS存储图片方案----环境搭建及踩坑记录

目录1、安装依赖 2、下载安装包mongodb下载安装:启动mongdb:mongofiles上传文件:nginx+gridfs源码下载:编译安装nginx3、配置nginx-gridfs4、通过url查看图片附:安装包:环境搭建:网上有很多的相关的资料,在查了一些资料后,就开始动手撸了。1、安装依赖a)yum install gcc-c++b)yum install -y pcre pcre-develc)yum ...
原创
发布博客 2020.10.30 ·
994 阅读 ·
0 点赞 ·
2 评论 ·
0 收藏

Centos 6 iscsi安装及配置

服务端:1.安装iscsi target服务:若服务器可以联网,则用yum安装最方便:yum install scsi-target-utils若没有网络,则需要使用rpm包来安装,rpm包可从此处下载:scsi-target-utils-1.0.24-18.el6.x86_64下载[root@node03 ~]# rpm -ivhscsi-target-utils-1.0.24-18.el6.x86_642.启动服务[root@node03 ~]# /etc/init.d/.
原创
发布博客 2020.10.21 ·
1890 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

scsi-target-utils-1.0.24-18.el6.x86_64.rpm

发布资源 2020.10.21 ·
rpm

文件结束符EOF与空字符‘\0‘

《C程序设计语言》中首次提到EOF是在下面这段代码: #include <stdio.h> /* copy input to output; 1st version */ main() { int c; c = getchar(); while (c != EOF) { putchar(c); c = getchar(); } }这段代码作用从stdin获取一个字符输出到stdout。一般看
原创
发布博客 2020.09.11 ·
3375 阅读 ·
1 点赞 ·
0 评论 ·
19 收藏

轻量级日志库zlog简易使用方法

源码及使用方法作者都有详细介绍:https://github.com/HardySimpson/zlog本文对自己的首次使用zlog的过程作下简单记录。1.下载:https://github.com/HardySimpson/zlog/releases2.安装:$ tar -zxvf zlog-latest-stable.tar.gz$ cd zlog-latest-stable/$ make $ sudo make install或者$ make PREFIX=/usr/lo...
原创
发布博客 2020.08.20 ·
1123 阅读 ·
0 点赞 ·
0 评论 ·
5 收藏

vs code离线配置Remote SSH远程开发

在跨平台的开发中,经常需要在windows下编写代码,再通过各种ftp工具或者git将代码同步到linux下再编译,Visual Studio Code推出了Remote SSH插件,可以直接在Visual Studio Code里修改代码无缝同步到linux开发环境。在线安装: 在有网络的情况下,打开vscode然后搜索Remote SSH插件安装,安装后配置好配置文件,点击连接,剩下的就是在提示输入密码时输入密码即可。离线安装: 然而许多企业的网络环...
原创
发布博客 2020.06.03 ·
10654 阅读 ·
38 点赞 ·
12 评论 ·
57 收藏
加载更多