不得不说,CSDN在IT界还是非常不错的, 不管是文章数量还是质量,都非常不错,很多程序猿也在CSDN建了窝,那么如何把CSDN的主页设置的更加符合自己的口味,就是我们今天要做的事。 CSDN博客的栏目指的是这块内容: 这里面,有的是CSDN博客自带的内容,比如个人资料、博客专栏等,还有些内容,我们可以自定义,首先,我们需要进入个人的博客首页,点击管理博客,并切换到博客栏目选项卡,这里,就是我们修改自定义栏目的主战场了。 自定义链接 我们首先来看最简单的,增加一个栏目,并增加一些自定义的链接选项。 首先,我们点击添加栏目,如图: 标题就是我们自定义栏目的名字,随便取一个看的顺眼的名字即可。 下面的内容,才是我们的重点,白话文我们就不说了,你可以在内容中输入类似“公告”、“声明”、“通缉”、“悬赏”等等,不用任何修饰的白话文,这些东西, 相信小学毕业证书拿到的朋友应该都会。 那么如何输入带链接的内容呢?几个大字看见没!支持HTML格式!!!有了这几个字,还怕我们有什么做不出吗? OK。上链接: <a title 继续阅读 >>


杜肖孟 16/12/02 23:04:52
最近换了个centos ,可是各种障碍,最近学汇编要装个dosbox,也是遇到几个麻烦。 1. 首先是下载dosbox的包(从学长那拿的=_=) dosbox-0.74 bug 修复版下载: http://download.csdn.net/detail/yangbodong22011/9663271 2. 解压 $ tar zxf dosbox-0.74.tar.gz 3. 进入目录 $ cd dosbox-0.74/ $ ls 4. 检测环境 [root@localhost dosbox-0.74]# ./configure 发现如下错误:`configure: error: *** SDL version 1.2.0 not found!` 接下来执行: [root@localhost dosbox-0.74]# yum -y install SDL [root@localhost dosbox-0.74]# yum install SDL-devel 再次检测,没有其他问题。 5. 编译 [root@ 继续阅读 >>


杜肖孟 16/12/01 15:32:00
内存中字的存储 CPU中,用16位寄存器来存储一个字,一个字要用两个连续的内存单元来存放,这个字的低位字节存放到低地址单元中,高位字节存放在高地址单元中。假如用0、1两个内存单元存放一个字,这两个单元看作一个起始地址为0的字单元。 DS和[address]   8086CPU中有一个DS寄存器,通常用来存放要访问数据的段地址。比如我们要读取10000H单元中的内容,可用下面的程序段进行:   mov bx,1000H   mov ds,bx   mov al,[0]   上面的3条指令将10000H(1000:0)中的数据读到al中。我们使用mov指令将一个内存单元中的内容送入一个寄存器中,格式为:mov 寄存器名,内存单元地址。寄存器用寄存器名来指明,内存单元则用内存单元的地址指明。[…]中的0表示内存单元的偏移地址,指令执行时,8086CPU自动取ds中的数据为内存单元的段地址。   我们之所以使用 mov bx,1000H 是因为:8086CPU不支持将数据直接送入段寄存器的操作,所以用一个寄存器来进行中转。 CPU提供的栈机制 继续阅读 >>


杜肖孟 16/11/16 22:37:51
  汇编语言是各种CPU提供的机器指令的助记符的集合,人们可以用汇编语言直接控制硬件系统进行工作。汇编语言是人和计算机沟通的最直接方式,它描述了机器最终要执行的指令序列。学汇编的目的:充分获得底层编程的体验,深刻理解机器运行程序的机理。以8086CPU来学习。 机器语言:早期程序员使用,难于辨别和记忆 机器指令的集合,机器指令就是一台计算机可以正确执行的命令:一列二进制数字。 计算机将之转换为高低电平,以使计算机的电子器件收到驱动,进行计算。 汇编语言: 主体是汇编指令,汇编指令是机器指令便于程序员记忆的书写格式,是机器指令的助记符。 每一种CPU都有自己的汇编指令集。 汇编语言的组成: (1):汇编指令:机器码的助记符,同机器码一一对应。(核心->汇编语言的特性) (2):伪指令:没有对应的机器码,由编译器执行,计算机不执行。 (3):其他符号:如+、-、*、/等,由编译器识别,没有对应的机器码。 存储器: 存放计算机可以直接使用的信息。指令和数据在存储器存放,也就是内存。在PC机上,内存的作用仅次于CPU。磁盘不同于内存,磁 继续阅读 >>


杜肖孟 16/11/15 17:07:57
x&(x-1) 现在令 x = 10101000,接下来我们算一下 x&(x-1)的结果。 首先我们回忆一下二进制减法的规则: 0-0=1-1=0 1-0=1 0-1=1(向高位借位) 例如,(11000011)2-(00101101)2的算式如下: 11000011 被减数 00101101 减数 --1111 借位 (减号是对齐美观用的) ------------------- 10010110 差数 回到刚才的运算,根据二进制减法的规则,我们得: x-1 = 10100111, & x  = 10101000, x & (x-1) = 10100000 我们可以看出,x的最右边的1变成了0,如果我们继续对得到的结果再次执行这样的运算时,发现结果又变为 10000000,由此我们得到结论:x&(x-1) 是将二进制数最右边的1变成0,如果没有1则生成的二进制位全为0。 ??? 我们看下面程序会输出什么 ??? #include<stdio.h&g 继续阅读 >>


杜肖孟 16/11/10 14:39:32
  一个容器就是一些特定类型对象的集合。顺序容器为程序员提供了控制元素存储和访问顺序的能力。这种顺序不依赖于元素的值,而是与元素加入容器时的位置相对应。 顺序容器的概述 下表列出了标准库中的顺序容器,所有顺序容器都提供了快速顺序访问元素的能力。但是不同容器在一下方面都有不同程度的性能折中。 向容器添加或删除元素的代价 非顺序访问容器元素的代价 顺序容器类型 vector ------ 可变大小数组。支持快速随机访问。在尾部之外的位置插入或删除元素可能很慢 deque ------双端队列。支持快速随机访问。在头尾位置插入删除速度很快 list --------双向链表。只支持双向顺序访问。在list中任何位置进行插入删除操作速度都很快 forward_list ----单向链表。只支持单向顺序访问。在链表任何位置进行插入删除速度都很快 array--------固定大小数组。支持快速随机访问。不能添加或删除元素 string--------与vector相似的容器,但专门用来保存字 继续阅读 >>


杜肖孟 16/11/08 23:44:21
首先定义节点 typedef struct BTree { int value; struct BTree *lchild; struct BTree *rchild; }BTree; 前序递归建立二叉树 /* **num 前序序列 **index 下标 */ BTree *CreateBTree(BTree *node,int *num,int& index) { if(num[index] == 0) return NULL; else { node = new BTree; node -> value = num[index]; node -> lchild = CreateBTree(node->lchild,num,++index); node -> rchild = CreateBTree(node->rchild,num,++index); } 继续阅读 >>


杜肖孟 16/10/29 17:02:43
  C++不直接处理输入输出,而是通过一族定义在标准库中的类型来处理IO。这些类型支持从设备读取数据、向设备写入数据的IO操作,设备可以是文件、控制台窗口等。还有一些类型允许内存IO,即从string读取数据,向string写入数据。 IO类 头文件 类型 iostream istream,wistream从流读取数据 ostream,wostream向流写入数据 iostream,wiostream 读写流 fstream ifstream,wifstream从文件读取数据ofstream,wofstream 向文件写入数据 fstream,wfstream 读写文件 sstream istringstream,wistringstream从string读取数据 ostringstream,wostringstream 向string写入数据 stringstream,wstringstream 读写string ps:为了支持使用宽字符的语言,标准库定义 继续阅读 >>


杜肖孟 16/10/28 21:15:59
ping命令   Linux系统ping命令是常用的网络命令,用来测试网络的连通性,向网络上的主机发送应答请求,根据响应信息可以判断远程主机是否可用 。ping命令通过将 icmp 回显数据包发送到计算机并侦听回显回复数据包来验证与一台或多台远程计算机的连接,该命令只有在安装了 tcp/ip 协议后才可以使用。通常我们打不开网页时就会说”ping 一下”。 语法: ping [参数] [主机名或ip地址] 参数说明: -a 将地址解析为计算机名。 -d 使用Socket的SO_DEBUG功能。 -c<完成次数> 设置完成要求回应的次数。 -f 极限检测。 -i<间隔秒数> 指定收发信息的间隔时间。 -I<网络界面> 使用指定的网络界面送出数据包。 -l<前置载入> 设置在送出要求信息之前,先行发出的数据包。 -n 只输出数值。 -p<范本样式> 设置填满数据包的范本样式。 -q 不显示指令执行过程,开头和结尾的相关信息除外。 -r 忽略普通的Routing Table,直接将数据包送 继续阅读 >>


杜肖孟 16/10/20 17:51:23
运算符重载的概念和语法 重载,就是赋予新的含义,运算符重载和函数重载类似,同一个运算符可以有不同的功能。 运算符重载的方式就是定义一个函数,在函数体内实现想要的功能,当用到该运算符时,编译器就会自动调用这个函数。也就是说,运算符重载就是通过函数定义实现的,它本质上是函数重载。 返回值类型 operator 运算符名称(形参列表){ //TODO; } operator是关键字,专门用于定义重载运算符的函数。 重载运算符的规则: 1):并不是所有运算符都可以重载。例如长度运算符(sizeof)、条件运算符(: ?)、成员选择符(.)、对象选择符(.*)、域解析符(::)不能被重载。 2):重载不能改变运算符的优先级和结合性。 3):重载不会改变运算符的用法。例如"+"号总是出现在两个操作数之间。 4):重载运算符的函数不能有默认的参数,否则就改变了运算符操作数的个数,显然是错误的。 下面的代码定义了一个复数类,通过运算符重载,用”+”号实现了复数的加法。 /************************************ 继续阅读 >>


杜肖孟 16/10/20 14:40:11