自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (1)
  • 收藏
  • 关注

原创 git使用

最近想自己写点东西,所以需要搭建一些开发环境,首先就需要挑选版本管理工具,就是今天的主题---git。 git教程:https://www.yiibai.com/git/git-quick-start.htmlgit使用时有https和ssh两种urlssh方式不用输入密码设置:https://www.cnblogs.com/lqfxyy/p/5740720.html ht...

2018-07-26 17:29:35 230

转载 从TCP三次握手说起——浅析TCP协议中的疑难杂症

【引言】说到TCP协议,相信大家都比较熟悉了,对于TCP协议总能说个一二三来,但是TCP协议又是一个非常复杂的协议,其中有不少细节点让人头疼。本文就是来说说这些头疼点的,浅谈一些TCP的疑难杂症。那么从哪说起呢?当然是从三次握手和四次挥手说起啦,可能大家都知道TCP是三次交互完成连接的建立,四次交互来断开一个连接,那为什么是三次握手和四次挥手呢?反过来不行吗?疑症一:TCP的三次握手、四次挥手下面...

2018-05-28 18:03:44 327

转载 性能调优攻略

关于性能优化这是一个比较大的话题,在《由12306.cn谈谈网站性能技术》中我从业务和设计上说过一些可用的技术以及那些技术的优缺点,今天,想从一些技术细节上谈谈性能优化,主要是一些代码级别的技术和方法。本文的东西是我的一些经验和知识,并不一定全对,希望大家指正和补充。在开始这篇文章之前,大家可以移步去看一下酷壳以前发表的《代码优化概要》,这篇文章基本上告诉你——要进行优化,先得找到性能瓶颈! 但是...

2018-05-28 18:01:12 247

原创 string切割

#incldue using namespace std;#incldue #incldue typedef std::vector vecStr;void SubStr(vecStr& toke, const std::string& src, const std::string& spec){ size_t Pos = 0; size_t Pre

2018-02-02 21:35:54 311

原创 关于两个类相互包含引用的思考

今天遇到一个问题,编译时遇到了如下错误:错误 1 error C2146: 语法错误: 缺少“;”(在标识符“move”的前面) 错误 2 error C4430: 缺少类型说明符 - 假定为 int。注意:  C++ 不支持默认 int写个最简单的例子:#ifndef __ROBOT_H__#define __ROBOT_H__#include "mo

2017-08-19 20:59:43 557

原创 对于const常量定义在头文件的思考

今天在看effective C++ title02 时,看到一句话:由于常量定义式通常被放在头文件中(以便被不同的源码含入)。感觉十分困惑,因为在我的印象中,变量是不能定义在头文件中的,会引起重复定义的错误。c++primer原文:   默认状态下,const对象仅在文件中有效当以编译时初始化的方式定义一个const对象时,就如对bufSize的定义一样:const int b

2017-08-01 20:47:23 8348 1

原创 二叉查找树

最近在看数据结构和算法分析(c语言描述),自己用c++实现一遍二叉查找树节点类:#ifndef __NODE_H__#define __NODE_H__#include template struct Node{ T ch; Node* m_pl; Node* m_pr; Node() : m_pl(nullptr), m_pr(nullptr) { } Nod

2017-07-12 21:14:42 376

转载 socket编程原理

1、问题的引入1) 普通的I/O操作过程:UNIX系统的I/O命令集,是从Maltics和早期系统中的命令演变出来的,其模式为打开一读/写一关闭(open-write-read-close)。在一个用户进程进行I/O操作时,它首先调用“打开”获得对指定文件或设备的使用权,并返回称为文件描述符的整型数,以描述用户在打开的文件或设备上进行I/O操作的进程。然后这个用户进程多次调用“

2017-02-19 16:40:27 1004

转载 析构函数可以是纯虚函数

在某些类里声明纯虚析构函数很方便。纯虚函数将产生抽象类——不能实例化的类(即不能创建此类型的对象)。有些时候,你想使一个类成为抽象类,但刚好又没有任何纯虚函数。怎么办?因为抽象类是准备被用做基类的,基类必须要有一个虚析构函数,纯虚函数会产生抽象类,所以方法很简单:在想要成为抽象类的类里声明一个纯虚析构函数。 class awov {  public:  vi

2016-12-25 20:46:47 1510

转载 nohup命令以及ssh断开之后继续执行程序

你是不是经常需要 SSH 或者 telent 远程登录到 Linux 服务器?你是不是经常为一些长时间运行的任务而头疼,比如系统备份、ftp 传输等等。通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为他们执行的时间太长了。必须等待它执行完毕,在此期间可不能关掉窗口或者断开连 接,否则这个任务就会被杀掉,一切半途而废了。元凶:SIGHUP 信号让我们来看看为什么关掉窗

2016-10-22 19:17:28 5081

转载 Linux中gdb 查看core堆栈信息

core dump 一般是在segmentation fault(段错误)的情况下产生的文件,需要通过ulimit来设置才会得到的。调试的话输入: gdb filename corefilename就是产生core文件的可执行文件,croe就是产生的core文件名直接输入gdb core 会输出信息:是哪个进程导致产生的core文件查看栈信息—————-

2016-10-12 11:53:17 2517

转载 shell脚本报错:"[: =: unary operator expected"

shell脚本报错:"[: =: unary operator expected"    在匹配字符串相等时,我用了类似这样的语句:if [ $STATUS == "OK" ]; then     echo "OK"fi    在运行时出现了 [: =: unary operator expected 的错误,就一直找不到原因。把语句改成这样就不会出错了:if [[ $ST

2016-10-08 10:40:38 677

原创 ln创建链接以及硬链接和软链接的区别

首先要弄清楚,在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号。文件属性保存在索引结点里,在访问文件时,索引结点被复制到内存,从而实现文件的快速访问。链接是一种在共享文件和访问它的用户的若干目录项之间建立联系的一种方法。Linux中包括两种链接:硬链接(Hard Link)和软链接(Soft Link),软链接又称为符号链接(S

2016-09-24 21:56:41 2681

转载 TCP UDP传输原理 及 数据块,分节,分组,数据报,数据包的区别

关于TCP输出:     每个TCP套接口有一个发送缓冲区,当应用程序调用write时,内核将应用程序的缓冲区的数据拷贝到TCP的发送缓冲区,(如果write成功返回,仅仅表示应用程序的缓冲区已经全部拷贝到TCP的发送缓冲区,说明此时应用程序的缓冲区中的数据可以丢弃,并不表示TCP的数据已经成功发送)TCP以对方MSS(maximum segment size)大小或者更小发送数据块给IP,并

2016-09-22 11:59:24 2297

转载 python学习—-基本数据类型

内置数据类型与标准库数据类型唯一的区别在于,对于后者,我们必须首先导入相关的模块,并且必须使用模块名对数据类型名进行限定。Python中的标识符与关键字我们学习每一种编程语言,都是从最开始的标识符(还有传说中的Hello World),关键字开始的,学习Python也不例外。Python标识符必须符合三条规则:1.标识符区分大小写,只要是Unicode编码的字母就好

2016-09-19 09:59:24 392

转载 网络中数据传输过程的分析

我们每天都在使用互联网,我们电脑上的数据是怎么样通过互联网传输到到另外的一台电脑上的呢?把自己的理解写一下,可能有很多细节还没有能的很清楚!希望在以后可以使之更加的完善!有不对的地方还请指正.     我们知道现在的互联网中使用的TCP/IP协议是基于,OSI(开放系统互联)的七层参考模型的,(虽然不是完全符合)从上到下分别为 应用层 表示层 会话层 传输层 网络层 数据链路层和物理层。其中数

2016-09-07 11:15:05 655

转载 C++中typename关键字的使用方法和注意事项

原文地址:http://blog.csdn.net/pizzq/article/details/14870041, 什么地方使用?用在模板定义里,标明其后的模板参数是类型参数。例如 templateT foo(const T& t, const Y& y){//....};templaceclass CTest{private: T

2016-09-01 15:04:35 454

转载 linux下source命令(点命令)

原文地址:http://blog.csdn.net/wangyangkobe/article/details/6595143Linux Source命令及脚本的执行方式解析当我修改了/etc/profile文件,我想让它立刻生效,而不用重新登录;这时就想到用source命令,如:source /etc/profile对source进行了学习,并且用它

2016-08-13 12:58:37 947

转载 C++ 内存分配(new,operator new)

原文地址:http://blog.csdn.net/wudaijun/article/details/9273339 本文主要讲述C++ new运算符和operator new, placement new之间的种种关联,new的底层实现,以及operator new的重载和一些在内存池,STL中的应用。一 new运算符和operator new():     ne

2016-08-12 18:04:31 383

原创 VS添加lib以及对编译过程的总结

本来是想在VS2013添加一个lib的。由此认识到对编译的原理认识不清楚,所以记录一下先说在vs中添加lib库的方法:通过设置工程来添加lib库:1.添加一个项目,右键属性,改变 配置属性----常规 中的配置类型为静态库或者动态库,然后可以改变输出目录(指定一下库目录),此步骤就设置成了一个lib库2.在项目中使用,也需要设置属性,因为要保证找到头文件和库文件,所以在 配

2016-08-11 12:46:39 3745

转载 头文件和库文件的区别

原文地址:http://blog.chinaunix.net/uid-27575921-id-4078661.html头文件一般而言,是申明和定义。库文件是已经编译好的二进制代码。这个二进制代码可以是动态的,如 .so 也可以是静态的,如 .a ,如果是动态的,则你最后生成的程序文件在运行时,需要这个动态库的支持,如果是静态的,则你最后生成的客执行程序文件运行时可以脱离这个库文件而

2016-08-10 21:22:57 576

转载 new(std::nothrow) 和 new

原文网址:http://blog.csdn.net/zgjxhgh/article/details/30263031普通new一个异常的类型std::bad_alloc。这个是标准适应性态。在早期C++的舞台上,这个性态和现在的非常不同;new将返回0来指出一个失败,和malloc()非常相似。 在内存不足时,new (std::nothrow)并不抛出异常,而是将指针置N

2016-08-10 16:56:14 557

Linux内核设计与实现

基于Linux 2.6.34内核详细介绍了Linux内核系统,覆盖了从核心内核系统的应用到内核设计与实现等各方面的内容。

2015-11-21

空空如也

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

TA关注的人

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