骑猪去兜风..
码龄7年
关注
提问 私信
  • 博客:283,950
    283,950
    总访问量
  • 162
    原创
  • 1,604,508
    排名
  • 87
    粉丝
  • 0
    铁粉

个人简介:无

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2017-11-04
博客简介:

wk_bjut_edu_cn的博客

博客描述:
fire in the hole!
查看详细资料
个人成就
  • 获得222次点赞
  • 内容获得36次评论
  • 获得839次收藏
  • 代码片获得208次分享
创作历程
  • 1篇
    2020年
  • 22篇
    2019年
  • 141篇
    2018年
成就勋章
TA的专栏
  • Linux系统编程
    10篇
  • socket编程
    11篇
  • C++
    36篇
  • Linux
    6篇
  • 算法
    24篇
  • 计算机网络
    3篇
  • 操作系统
  • STL
    16篇
  • C
    2篇
  • Inside C++ object model
    6篇
  • 进程/线程通信
    11篇
  • 数据结构
    3篇
  • muduo源码
    10篇
  • Effective C++
    3篇
  • FTP
    7篇
  • 设计模式
    7篇
  • 面试
  • 高性能服务器编程
    2篇
  • linux内核
    1篇
  • 装饰模式
  • 日常总结
    3篇
兴趣领域 设置
  • 服务器
    linux
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

makefile

一、概述1、make:是一个非常重要的编译命令,本质上它是一个程序。利用make工具,可以将大型的开发项目分解成为多个更易于管理的模块,对于一个包括几百个源文件的应用程序,使用make和makefile工具就可以简洁明快地理顺各个源文件之间纷繁复杂的相互关系。而且如此多的源文件,如果每次都要键入gcc命令进行编译的话,那对程序员来说简直就是一场灾难。而make工具则可自动完成编译工作,并且可以...
原创
发布博客 2020.02.28 ·
307 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

链表、队列、图、B树

一、链表循环队列的实现#include<iostream>#include <string>using namespace std; template <typename T>class Myloopqueue {private: T *queue;//存储用的数组 int capacity;//存放个数 int head;//hea...
原创
发布博客 2019.08.26 ·
307 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

计算机网络知识点总结

目录一、TCP和UDP的区别二、OSI七层网络模型三、TCP/IP协议五层协议模型四、五个术语五、IP协议相关技术六、TCP七、TCP的流量控制以及拥塞控制八、TCP协议如何来保证传输的可靠性九、计算机网络中的网关和网桥十、本机ip和127.0.0.1的区别十一、常见的基于TCP/UDP的应用层协议十二、连接计算机与计算机之间的一些硬件设备十三、...
原创
发布博客 2019.11.23 ·
3735 阅读 ·
17 点赞 ·
1 评论 ·
54 收藏

dfs系列

组合总和给定一个无重复元素的数组candidates和一个目标数target,找出candidates中所有可以使数字和为target的组合。candidates中的数字可以无限制重复被选取。说明:所有数字(包括target)都是正整数。解集不能包含重复的组合。示例1:输入: candidates = [2,3,6,7], target = 7,所...
原创
发布博客 2019.06.19 ·
319 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Git管理

一、Git安装去官网下载git 选择对应系统下载 https://git-scm.com/download,下载后安装默认next即可(此工具为命令行的安装) 安装好后在git bash里配置用户信息,配置用户信息如下图所示 git config --list里查看用户名邮箱是否配置成功 SourceTreeSourceTree 是 Windows 和Mac OS X 下...
原创
发布博客 2019.06.06 ·
352 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

关于基础类型转换

int转为short类型时产生的截断#include<iostream>using namespace std;int main(){ int a = 65533; short b = a; unsigned short c = a; cout << b << endl; cout << c << endl; sy...
原创
发布博客 2019.06.03 ·
373 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

pmon中x86emu对vga初始化浅析

本文主要简要描述下pmon中x86emu对vga初始化的步骤1。主要思想:x86emu 实际上可以看作是执行x86指令的一台虚拟机,对其介绍分为三个部分,内存空间映射,模拟中断机制,和指令执行模拟三个方面。2。内存空间映射x86emu中寻址空间空间默认是0~100000大小,映射关系如下:0~0xa0000 此空间访问...
转载
发布博客 2019.05.26 ·
925 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

网络常用测试工具

目录一、netstat二、ping三、traceroute四、telnet命令五、route命令六、ifconfig命令七、tcpdump--抓包命令八、nc命令九、curl命令十、dig命令十一、Linux如何查看端口使用情况一、netstat命令功能:它可以用来查询系统上的网络套接字连接情况,包括tcp,udp以及Unix套接字;...
原创
发布博客 2019.04.25 ·
23079 阅读 ·
16 点赞 ·
0 评论 ·
179 收藏

valgrind的简单使用

valgrind是什么?Valgrind是一套Linux下,开放源代码的仿真调试工具的集合。Valgrind由内核以及基于内核的其他调试工具组成。内核类似于一个框架,它模拟了一个CPU环境,并提供服务给其他工具;而其他工具则类似于插件 ,利用内核提供的服务完成各种特定的内存调试任务。Valgrind包括的一些工具Memcheck。这是valgrind应用最广泛的工具,一个重量级的内存检...
原创
发布博客 2019.04.24 ·
260 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

日常安装

一、解决虚拟机和物理机之间不能复制粘贴文件https://jingyan.baidu.com/article/6079ad0e9a3c8528fe86db50.html二、vs新建项目时出现“异常来自HRESULT: "问题解决方法https://zhidao.baidu.com/question/435033999.html三、安装vs2015后没有C++和C语言怎么办htt...
原创
发布博客 2019.03.31 ·
252 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

递归、循环、位运算

目录剑指Offer(10)--斐波那契数列(青蛙跳台阶)剑指Offer(11)--旋转数组的最小数字剑指Offer(12)--矩阵中的路径剑指Offer(13)--机器人的运动范围剑指Offer(14)--剪绳子剑指Offer(15)--二进制中1的个数剑指Offer(17)--打印从1到最大的n位数剑指Offer(47)--礼物的最大价值剑指Offer...
原创
发布博客 2019.03.26 ·
463 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

杂乱算法题

目录剑指Offer(15)--二进制中1的个数剑指Offer(41)--数据流中的中位数剑指Offer(49)--丑数剑指Offer(65)--不用加减乘除做加法剑指Offer(15)--二进制中1的个数题目:请实现一个函数,输入一个整数,输出该数二进制表示中1的个数。#include<iostream>using namespace std;/...
原创
发布博客 2019.03.23 ·
305 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

装饰模式

装饰模式:动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更为灵活。有时我们希望给某个对象而不是整个类添加一些功能。比如有一个手机,允许你为手机添加特性,比如增加挂件、屏幕贴膜等。一种灵活的设计方式是,将手机嵌入到另一对象中,由这个对象完成特性的添加,我们称这个嵌入的对象为装饰。这个装饰与它所装饰的组件接口一致,因此它对使用该组件的客户透明。下面给出装饰模式的UML图。...
转载
发布博客 2019.03.22 ·
239 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

树

目录树的先序、中序、后序、层次遍历代码求二叉树的宽度输出二叉树每一层的最右节点二叉排序树转换成有序双向链表二叉搜索树的查找、插入、删除二叉树的最大距离(即相距最远的两个叶子节点)赫夫曼编码赫夫曼树的一个重要应用是赫夫曼编码。这里的编码是将要传送的文字转换为二进制的字符串(由0和1组成的字符串)。根据给定字符串权值求赫夫曼编码的过程,实际上就是根据给定权值构...
原创
发布博客 2019.03.03 ·
508 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

哈希表

目录哈希表(散列表)1.哈希表定义2.哈希表的关键3.最常见的哈希函数(散列函数)构造方法直接定址法除留余数法数字分析法平方取中法3.哈希冲突的解决方法开放定址法链地址法4.哈希表的优缺点5.STL中哈希表的奇特设计6.Hash的应用7.Hash和红黑树的选择哈希表(散列表)1.哈希表定义 哈...
原创
发布博客 2019.01.21 ·
745 阅读 ·
0 点赞 ·
0 评论 ·
7 收藏

常用命令总结

目录一、磁盘与目录的容量df,du二、改变文件属性和权限三、文件内容查阅四、ulimit命令五、Linux下4个查找命令which、whereis、locate、find六、三剑客命令(grep,sed,awk)七、文件隐藏属性八、man的九个章节九、file命令十、vim十一、其它命令十二、sort命令十三、strace、pstack、p...
原创
发布博客 2019.01.18 ·
1240 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

主动模式和被动模式

一、FTP两种工作模式主要是针对数据连接而言的,控制连接的建立总是由客户端向服务器端发起。而数据连接通道的建立则不同,既可以是服务器端向客户端发起连接建立数据连接通道,这种模式称为主动模式。也可以是客户端向服务器端发起连接建立数据连接通道,这种模式称为被动模式。详细介绍请看FTP简介二、nobody进程为什么要用两个进程为一个客户端服务?当一个客户端连接过来的时候,如果是wan...
原创
发布博客 2019.01.17 ·
1849 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

最大连接数与每ip连接数的限制

一、最大连接数的限制概念这是指服务器可以同时接收的最大连接数,防止服务器压力过大而在应用层进行的限制。实现总体思路:将当前连接数保存于变量num_clients变量中,然后与配置项numble_max_clients进行比较,如果超过了就不让登录,当一个客户登录的时候num_clents加1,当一个客户退出的时候,num_clients减1。1.一旦服务器端与客户端经过三次握手...
原创
发布博客 2019.01.16 ·
7628 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

下载和上传

一、预备知识1.lseek函数在程序中作用是断点续载或断电上传时偏移文件指针lseek函数介绍2.fcntl函数在此程序中的作用是对文件加读写锁fcntl函数介绍二、下载的实现1.不论是上传还是下载,首先都要进行数据连接字的创建将创建好的数据连接套接字保存到data_fd中//数据连接通道的创建//创建数据连接,获取数据连接所对应的套接字,有可能是主动模式也可能...
原创
发布博客 2019.01.16 ·
461 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

如何实现限制上传或下载速度

预备知识1.gettimeofday函数作用:在C语言中可以使用函数gettimeofday()函数来得到时间。它的精度可以达到微妙。函数原型:#include&lt;sys/time.h&gt;int gettimeofday(struct  timeval*tv,struct  timezone *tz )返回值:函数执行成功后返回0,失败后返回-1,错误代码存...
原创
发布博客 2019.01.16 ·
8056 阅读 ·
2 点赞 ·
5 评论 ·
15 收藏
加载更多