首页
学习
活动
专区
工具
TVP
发布

编程技术专栏

专栏作者
26
文章
53674
阅读量
16
订阅数
CentOS7安装protobuf(C++)和简单使用
此时可能会遇到报错,如:autoreconf: command not found
WindSun
2020-03-22
2.8K0
protobuf编译、安装和简单使用C++(Windows+VS平台)
将刚才编译后的libprotobufd.lib和protoc.exe拷贝到自己创建的项目下,按住shift+右键,选择打开CMD,输入protoc --cpp_out=./ Account.proto,发现目录中多了两个文件,一个.h头文件一个.cc源文件
WindSun
2020-03-21
6.4K1
TCP是怎么样保持可靠性的?
计算方式:在数据传输的过程中,将发送的数据段都当做一个16位的整数。将这些整数加起来。并且前面的进位不能丢弃,补在后面,最后取反,得到校验和。  发送方:在发送数据之前计算检验和,并进行校验和的填充。  接收方:收到数据后,对数据以同样的方式进行计算,求出校验和,与发送方的进行比对。
WindSun
2019-09-15
9150
物理层(计算机网络)
物理层解决如何在连接在一起的各种不同计算机的传输数据媒介上传输二进制(如: 010101)比特流,就是以何种方式、哪种形态进行传输。
WindSun
2019-09-12
7410
代理模式(设计模式)
代理模式,为其他对象提供了一种代理以控制对这个对象的访问。代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。通俗的来讲代理模式就是我们生活中常见的中介。
WindSun
2019-09-11
3430
观察者模式(设计模式)
观察者模式其实就是发布订阅模式,发布者发布信息,订阅者获取信息,订阅了就能收到信息,没订阅就收不到信息。可以想象成消息中间件在系统中的作用。SpringBoot启动就是使用了观察者模式。
WindSun
2019-09-10
5440
I/O多路复用select/poll/epoll
早期操作系统通常将进程中可创建的线程数限制在一个较低的阈值,大约几百个。因此, 操作系统会提供一些高效的方法来实现多路IO,例如Unix的select和poll。现代操作系统中,线程数已经得到了极大的提升,如NPTL线程软件包可支持数十万的线程。
WindSun
2019-09-09
9470
一次完整的HTTP请求过程
a)首先会搜索浏览器自身的DNS缓存(缓存时间比较短,大概只有1分钟,且只能容纳1000条缓存)
WindSun
2019-09-09
7.8K0
STL 萃取(Traits)机制剖析
当有两个模板类,一个是通用泛型模板,一个是特殊类型模板,如果创建一个特殊类型的对象,会优先调用特殊的类型模板类,例如:
WindSun
2019-09-03
1.5K0
C++内存管理(new operator/operator new/operator delete/placement new)
我们平时使用的new是new操作符(new operator),就像sizeof一样是语言内置的,不能改变它的含义,功能也是一样的
WindSun
2019-09-02
1.5K0
C++的多态总结(静态&动态)
我们以前说过的函数重载就是一个简单的静态多态,静态多态是编译器在编译期间完成的,编译器会根据实参类型来选择调用合适的函数,如果有合适的函数可以调用就调,没有的话就会发出警告或者报错。
WindSun
2019-09-02
7230
堆(Heap)的详细实现
一般都用数组来表示堆,i结点的父结点下标就为(i–1)/2。它的左右子结点下标分别为2 * i + 1和2 * i + 2。如第0个结点左右子结点下标分别为1和2。
WindSun
2019-09-02
9450
详解C++11智能指针
C++里面的四个智能指针: auto_ptr, unique_ptr,shared_ptr, weak_ptr 其中后三个是C++11支持,并且第一个已经被C++11弃用。
WindSun
2019-09-02
1.5K0
线程间同步的几种方式
信号量强调的是线程(或进程)间的同步:“信号量用在多线程多任务同步的,一个线程完成了某一个动作就通过信号量告诉别的线程,别的线程再进行某些动作(大家都在sem_wait的时候,就阻塞在那里)。当信号量为单值信号量时,也可以完成一个资源的互斥访问。信号量测重于访问者对资源的有序访问,在大多数情况下,同步已经实现了互斥,特别是所有写入资源的情况必定是互斥的。少数情况是指可以允许多个访问者同时访问资源。
WindSun
2019-09-01
3.8K0
进程间通讯IPC的几种方式的优缺点总结
Unix发展做出重大贡献的两大主力AT&T的贝尔实验室及BSD(加州大学伯克利分校的伯克利软件发布中心)在进程间通信方面的侧重点有所不同。前者对Unix早期的进程间通信手段进行了系统的改进和扩充,形成了“system V IPC”,通信进程局限在单个计算机内;后者则跳过了该限制,形成了基于套接口(socket)的进程间通信机制。Linux则把两者继承了下来,如图示:
WindSun
2019-08-31
5.5K0
约瑟夫斯环问题的几种经典解法
经典的约瑟夫斯 问题描述: 有n个人围成一圈,从1开始顺序排号。从第一个人开始报数(从1~3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号? 数组循环模拟法 const int N = 10
WindSun
2019-08-31
1.3K0
POSIX共享内存
几种进程间的通信方式:管道,FIFO,消息队列,他们的共同特点就是通过内核来进行通信(假设POSIX消息队列也是在内核中实现的,因为POSIX标准并没有限定它的实现方式)。向管道,FIFO,消息队列写入数据需要把数据从进程复制到内核,从这些IPC读取数据的时候又需要把数据从内核复制到进程。所以这种IPC方式往往需要2次在进程和内核之间进行数据的复制,即进程间的通信必须借助内核来传递。如下图所示:
WindSun
2019-08-31
2.7K1
POSIX消息队列
消息队列是Linux IPC中很常用的一种通信方式,它通常用来在不同进程间发送特定格式的消息数据。
WindSun
2019-08-31
2.8K0
多态中的虚析构函数
因为,如果delete一个基类的指针时, 如果它指向的是一个子类的对象,那么析构函数不为虚就会导致无法调用子类析构函数,从而导致资源泄露。
WindSun
2019-08-30
7390
类的成员函数(构造、析构、拷贝构造、赋值、运算符重载)的实现
以String类为例实现其成员函数 class String { //友元函数重载运算符 friend ostream& operator<<(ostream &out,String& str); friend istream& operator>>(istream& in, String& str); public: //通用构造函数 String(const char* str) { if(!str) //对m_data加NULL判断 { length = 0; m_da
WindSun
2019-08-30
1.1K0
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档