自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 字节序

字节序数据存储有两种方式:大端字节序和小端字节序网络序采用大端,本地存储采用小端大端字节序:数据的高位在地址的低位,从左到右(符合人读数的习惯)小端字节序:数据的高位在地址的高位,从右向左#include <endian.h>(无符号)64字节主机转网络:htobe64(uint64_t data)(无符号)64字节网络转主机:be64toh(uint6...

2020-03-11 16:37:33 257

原创 __thread

__thread__thread修饰的变量,在每个线程中都有一份独立实体,每个线程互不干扰,可以修饰全局性且值可能改变的变量#include <iostream>#include <pthread.h>#include <unistd.h>using namespace std;// static __thread int i = 1; // 修饰s...

2020-03-06 12:05:16 314

原创 boost::function/bind

boost::function/bindboost::function头文件:<boost/function.hpp>boost::function是一个函数模板,可以代替具有相同返回类型,相同参数和相同参数个数的不同函数,和函数指针有些类似,用于封装函数,定义之后可以多次调用// 简单的例子typedef boost::function<int(int ,int)&g...

2020-03-05 10:44:35 167

原创 函数指针

函数指针函数指针指向函数的地址函数指针的定义:函数返回值类型 (* 指针指针变量名) (函数参数列表)# 定义一个指向一个返回值为int,参数为(int,int)的函数指针pint (*p)(int, int)int Max(int a, int b) { return a > b ? a : b;}int main() { int (*p)(int, int); //...

2020-03-04 22:02:19 150

原创 kali 设置中文字体

kali设置中文字体# 安装中文字体sudo apt-get install ttf-wqy-zenhei# 设置系统配置sudo dpkg-reconfigure locales重启系统即可…

2020-03-02 23:09:07 2278 1

原创 muduo学习笔记 - 第五章 高效的多线程日志

第五章 高效的多线程日志日志有两种意思:诊断日志交易日志本章讲的是前一种日志,文本的供人阅读的日志,通常用于故障诊断和追踪,也可用于性能分析。日志通常要记录:收到的每条消息的id(关键字段,长度,hash等)收到的每条外部消息的全文发出每条消息的全文,每条消息都有全局唯一的id关键部分状态的变更,等等5.1 功能需求日志库大...

2020-03-02 19:07:00 173

原创 Windows桌面任务栏透明化

Windows桌面任务栏透明化TranslucentTB微软商店可以下载

2020-03-02 09:05:51 580

原创 muduo学习笔记 - 第4章 C++多线程系统编程精要

第4章 C++多线程系统编程精要Pthreads只保证统一进程之内,同一时刻的各个线程的id不同,不能保证同一进程先后多个进程具有不同的id,更不要说一台机器上多个进程之间的id唯一性,pthread_t不适合用做程序对线程的标识符。推荐使用**gettid()**的返回值作为线程id返回值类型pid_t,通常是小整数,便于在日志输出可以在/proc文件系统中找到对应项,/pro...

2020-03-01 20:33:42 227

原创 muduo学习笔记 - 第3章 多线程服务器的适合场合与常用编程模型

第3章 多线程服务器的适合场合与常用编程模型3.1 基本概念同步和异步针对程序和内核的交互同步:用户进程触发IO操作,等待或轮询的查看IO是否就绪异步:用户进程触发IO操作,继续做自己的事情,当IO操作完成通知进程阻塞和非阻塞针对进程在访问数据,更具IO的状态采取不同的方式阻塞:数据的读写会一直等待非阻塞:数据的读写会立即返回状态值IO模型同步阻...

2020-03-01 19:42:36 158

原创 muduo学习笔记 - 第2章 线程同步精要

第2章 线程同步精要2.1 互斥器 (mutex)互斥器保护了临界区,任何时刻最多只能有一个线程在mutex划出的临界区内活动推荐使用原则:用RAII手法封装mutex的创建、销毁、加锁、解锁四个操作只是用非递归的mutex (不可重入的mutex)不手动调用lock()和unlock()函数,交给栈上的Guard对象的构造和析构负责使用Guard对象时考虑调用栈上持有的锁,防止加...

2020-03-01 19:41:36 363 1

原创 muduo学习笔记 - 第1章 C++多线程系统编程

第1章 C++多线程系统编程1.1 智能指针C++中动态内存管理是用new和delete完成。动态内存管理经常出现两种问题:忘记释放内存造成内存泄露还有指针引用的内存的情况下释放内存,造成引用非法内存指针智能指针负责自动释放所指向的对象1.2 构造函数如何判断构造函数的执行结果?构造没有返回值不能通过返回值判断状态量,抛出异常?条件判断,例如构造函数的功能,如果涉及内...

2020-03-01 19:38:47 232

空空如也

空空如也

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

TA关注的人

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