自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 VisualStudio_Community_2019在安装的过程中无法进入安装界面

今天在安装VS2019的时候,在安装的过程中一直无法进入安装界面,在网上找了各种方法试了将近40分钟都没有找到有效的办法,不过就快放弃的时候,问题解决了,哈哈哈!!!!1.下载地址:https://visualstudio.microsoft.com/zh-hans/thank-you-downloading-visual-studio/?sku=Community&rel=16(官网...

2019-05-04 01:06:37 26796 6

转载 VS2010调试

1 导言在软件开发周期中,测试和修正缺陷(defect,defect与bug的区别:Bug是缺陷的一种表现形式,而一个缺陷是可以引起多种Bug的)的时间远多于写代码的时间。通常,debug是指发现缺陷并改正的过程。修正缺陷紧随debug之后,或者说二者是相关的。如果代码中存在缺陷,我们首先要识别造成缺陷的根本原因(root cause),这个过程就称作调试(debugging)。找到根本原

2016-09-20 10:01:20 456

原创 source insight窗口恢复默认

source insight窗口恢复默认

2016-09-12 19:50:31 11774 1

原创 关于电脑远程连接不上的原因

远程连接

2016-08-16 13:47:35 14372

原创 linux(ubuntu)下用eclipse运行C,可是一直提示nothing to build for project ProjectName

linux(ubuntu)下用eclipse运行C,可是构建的时候一直提示nothing to build for project ProjectName今天一下午都在弄这个问题,网上找了很多解决办法,但是都试了,还是没用,结果发现在新建资源文件的时候要加扩展名,exp:例如新建helloword是应该起名为helloword.c,然后再构建,ok!解决了!很低级的错误!

2016-03-23 23:04:04 5131

原创 windows上安装linux系统,黑屏进不到桌面解决办法

最近学习linux,在自己的电脑上安装虚拟机,在安装ubuntu系统,可是一切都好的时候,登录,想着可以用了,结果密码输入后一直是黑屏,结果吧ubuntu的惊喜那个文件换了一个,还是一样,进不到桌面,最后终于找到答案了,虚拟机关机,然后再虚拟机上点击设置---显示器把这个打勾的去掉,重启就ok了!

2016-03-22 22:11:15 4029

转载 C++单例实际模式

现在,不管开发一个多大的系统(至少我现在的部门是这样的),都会带一个日志功能;在实际开发过程中,会专门有一个日志模块,负责写日志,由于在系统的任何地方,我们都有可能要调用日志模块中的函数,进行写日志。那么,如何构造一个日志模块的实例呢?难道,每次new一个日志模块实例,写完日志,再delete,不要告诉我你是这么干的。在C++中,可以构造一个日志模块的全局变量,那么在任何地方就都可以用了,是的,不

2015-10-17 09:34:43 376

转载 面向对象的三个特征

面向对象的三个基本特征是:封装、继承、多态。封装封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。继承面向对象编程 (OOP) 语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能,并在

2015-10-17 00:03:09 258

转载 delete 和delete[]区别

C++告诉我们在回收用 new 分配的单个对象的内存空间的时候用 delete,回收用 new[] 分配的一组对象的内存空间的时候用 delete[]。 关于 new[] 和 delete[],其中又分为两种情况:(1) 为基本数据类型分配和回收空间;(2) 为自定义类型分配和回收空间。请看下面的程序。 12345

2015-10-16 23:45:35 261

原创 套接字

套接字是一种通信机制,凭借这种机制,客户/服务器系统的开发工作既可以在本地单机上进行,也可以跨网络进行,Linux所提供的功能(如打印服务,ftp等)通常都是通过套接字来进行通信的,套接字的创建和使用与管道是有区别的,因为套接字明确地将客户和服务器区分出来,套接字可以实现将多个客户连接到一个服务器。套接字,是支持TCP/IP的网络通信的基本操作单元,可以看做是不同主机之间的进程进行双向通信的端

2015-10-15 23:30:43 422

转载 数据结构之排序算法

在待排序的文件中,若存在多个关键字相同的记录,经过排序后这些具有相同关键字的记录之间的相对次序保持不变,该排序方法是稳定的;若具有相同关键字的记录之间的相对次序发生改变,则称这种排序方法是不稳定的。即所有相等的数经过某种排序方法后,仍能保持它们在排序之前的相对次序,则说这种排序算法是稳定的,反之,就是不稳定的。    稳定的排序算法如下表所示:   稳定的排序

2015-10-15 23:23:43 463

转载 C++中虚函数的用法详细讲解

我们知道,在同一类中是不能定义两个名字相同、参数个数和类型都相同的函数的,否则就是“重复定义”。但是在类的继承层次结构中,在不同的层次中可以出现名字相同、参数个数和类型都相同而功能不同的函数。例如在例12.1(具体代码请查看:C++多态性的一个典型例子)程序中,在Circle类中定义了 area函数,在Circle类的派生类Cylinder中也定义了一个area函数。这两个函数不仅名字相同,而

2015-10-15 22:43:51 3816 2

转载 堆和栈的区别

一、预备知识—程序的内存分配    一个由C/C++编译的程序占用的内存分为以下几个部分    1、栈区(stack)—   由编译器自动分配释放   ,存放函数的参数值,局部变量的值等。其    操作方式类似于数据结构中的栈。    2、堆区(heap)   —   一般由程序员分配释放,   若程序员不释放,程序结束时可能由OS回    收   。注意它与数据结构中的堆是两

2015-09-30 20:16:47 221

转载 线程与进程的关系与区别

1.定义进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.

2015-09-27 23:25:35 575

转载 linux命令大全

系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpui

2015-09-27 23:18:35 250

转载 TCP应用层主要协议

TCP/IP应用层对应了OSI参考模型的上三层(会话层、表示层和应用层),它包括了一些服务。这些服务是与终端用户相关的认证、数据处理及压缩,应用层还要告诉传输层哪个数据流是由哪个应用程序发出的。应用层主要包括一下协议:      文件传输类:HTTP、FTP、TFTP;      远程登录类:Telnet;      电子邮件类:SMTP;      网络管理类:SNMP;

2015-09-27 21:51:05 10051

转载 C++线程安全

c++多线程编程安全性简单说明对于多线程编程,很多人概念不清,写代码的时候要么是处处加锁,影响性能不说,还容易莫名其妙的死锁,还有人对多线程敬而远之。所以学习多线程编程最重要的不是学习API,而是理解什么才是多线程安全的代码从例子说起#include windows.h>#include process.h>long global1 = 0;vola

2015-09-27 16:04:49 1043

转载 linux上编译C

市面上常见的Linux都是发行版本,典型的Linux发行版包含了Linux内核、桌面环境和各种常用的必备工具,国内使用较多的是Ubuntu(乌班图)、CentOS、Deepin(深度Linux)。本教程以Deepin为例来讲述如何编译C程序。GeditGedit是一个简单实用的文本编辑器,拥有漂亮的界面,支持语法高亮,比 Vim 更易上手。本教程将Gedit作为C代码编辑器。G

2015-09-27 09:50:49 395

原创 计算机网络缩略语

ACK (ACKnowledgment) TCP首部中的确认标志API (Application Programming Interface) 应用编程接口ARP (Address Resolution Protocol) 地址解析协议A R PA N E T(Defense Advanced Research Project Agency NETwork) (美国)国防部远景研究

2015-09-27 00:52:08 848

转载 网络文件系统

一:介绍    1: NFS(网络文件系统),它为客户程序提供透明的文件访问。NFS的基础是Sun RPC(Remote Procedure Call Protocol):远程过程调用。    2: 客户程序使用NFS不需要做什么特别的工作,当NFS内核检测到被访问的文件位于一个NFS服务器时,就会自动产生一个访问该文件的RPC调用。二:RPC    1: 大多数的网络程序设计

2015-09-27 00:44:30 433

转载 邮件协议 POP SMTP IMAP

1、POP:Post Office Protocol 是一种电子邮局传输协议,而 POP3 是它的第三个版本,是规定了怎样将个人计算机连接到 Internet 的邮件服务器和下载电子邮件的电子协议。它是 Internet 电子邮件的第一个离线协议标准。简单点说,POP3 就是一个简单而实用的邮件信息传输协议。IMAP:交互式邮件存取协议,它的主要作用是邮件客户端(例如MS Outloo

2015-09-27 00:38:57 3757

转载 FTP文件传输协议

FTP工作在TCP/IP模型的应用层,基于的传输协议是TCP,FTP客户端和服务器之间的连接是可靠的,面向连接的,为数据的传输提供了可靠的保证。FTP的主要特征:1.控制连接是建立在客户协议解释器和服务器协议解释器之间用于交换命令与应答的通信链路。2.数据连接是传输数据的全双工连接。传输数据可以发生在服务器数据传输过程DTP和客户DTP之间,也可以发生在两个服务

2015-09-27 00:19:48 487

转载 Telnet和Rlogin以及SSH

1)  Telnet(Telecommunication Network Protocol)Telnet是通过客户端与服务器之间的选项协商机制,实现了提供特定功能的双方通信。如下图所示,telnet客户进程同时与终端驱动,TCP/IP协议模块进行交互,负责信息的传输。telnet服务进程负责与伪终端驱动,TCP/IP进行数据交互。所谓的为终端驱动就是实现一种登录外壳(she

2015-09-27 00:06:06 3686

转载 SNMP简单网络管理协议

SNMP是基于TCP/IP协议族的网络管理标准,是一种在IP网络中管理网络节点(如服务器、工作站、路由器、交换机等)的标准协议。SNMP能够使网络管理员提高网络管理效能,及时发现并解决网络问题以及规划网络的增长。网络管理员还可以通过SNMP接收网络节点的通知消息以及告警事件报告等来获知网络出现的问题。SNMP管理的网络主要由三部分组成:被管理的设备S

2015-09-26 23:55:58 508

转载 TCP建立与终止

TCP是一个面向连接的协议。无论哪一方向另一方发送数据之前,都必须在双方之间建立一条连接。这种两端间连接的建立与无连接协议UDP不同,UDP向另一端发送数据报时,无需任何预告的握手。1.建立连接的协议(3次握手)1)请求端发送一个SYN段指明客户端打算连接的服务器端口,以及初始序列号。2)服务器发回包含服务器的初始序号的SYN报文段作为应答。同时将确认序号设置为

2015-09-26 23:18:37 1594

转载 TCP保活定时器

现实中可能存在这么一种空闲TCP连接:没有任何数据流通过。也就是说,如果TCP连接的双方都没有向对方发送数据,则在两个TCP模块之间不交换任何信息,这意味着我们可以启动一个客户与服务器建立连接,然后长时间不使用,而连接依然保持。中间的路由器可以崩溃和重启,电话线可以被挂断再连接,但只要两端的主机没有被重启,则连接依然保持建立。然而,许多时候一个服务器希望知道客户主机是否崩溃并关机或者崩溃又

2015-09-26 23:14:03 402

转载 TCP坚持定时器

TCP通过让接收方指明希望从发送方接收的数据字节数(即窗口大小)来进行流量控制。如果窗口大小为0会发生什么情况呢?这将有效阻止发送方传送数据,直到窗口变为非0为止。ACK的传输并不可靠,也就是说,TCP不对ACK报文段进行确认,TCP只确认那些包含有数据的ACK报文段。1.坚持定时器假设一个场景:如果一个确认丢失了,则双方就有可能因为等待对方而使连接终止,接收方等待接收数据

2015-09-26 23:07:32 2802

转载 TCP超时重传

TCP提供可靠的运输层。它使用的方法之一就是确认从另一端收到的数据。但数据和确认都有可能会丢失。TCP通过在发送时设置一个定时器来解决这种问题。如果当定时器溢出时还没有收到确认,它就重传该数据。对于实现而言,关键之处就在于超时和重传的策略,即怎样决定超时间隔和如何确定重传频率。TCP管理4种不同的定时器:重传定时器:当希望收到另一端的确认时使用。坚持定时器:使窗口信

2015-09-26 23:01:11 665

转载 TCP成块数据流

目前建立在TCP协议上的网络协议特别多,有telnet,ssh,有ftp,有http等等。这些协议又可以根据数据吞吐量来大致分成两大类:(1)交互数据类型,例如telnet,ssh,这种类型的协议在大多数情况下只是做小流量的数据交换,比如说按一下键盘,回显一些文字等等。(2)数据成块类型,例如ftp,这种类型的协议要求TCP能尽量的运载数据,把数据的吞吐量做到最大,并尽可能的提高效率。针对这两种情

2015-09-26 21:03:48 444

转载 TCP交互数据流

在TCP进行数据传输时,可以分为成块数据流和交互数据流两种,如果按字节计算,成块数据与交互数据的比例约为90%和10%,TCP需要同时处理这两类数据,且处理的算法不同。书籍本章中以Rlogin应用为例观察交互数据的传输过程。提示经受时延的确认是如何工作以及Nagle算法怎样减少了通过广域网络传输的小分组的数目。交互式输入上图为没有优化的字符输入回显的数据传输过程,一共需要四个报

2015-09-26 20:50:48 496

原创 TCP传输控制协议

看到了吗,这个就是tcp头,当然,tcp头也是封装在ip头之后的,需要由ip层传输吗,ok,继续。四元组:源ip地址,目的ip地址,源端口号,目的端口号。序号:序号实际上发送的字节数,序号就是一个计数器,序号是本次发送的字节数首序号,确认序号,则是ack包返回接收端希望下次发送端发过来的需要。如发送端发送1~1024字节,则序号为1,如果接收端成功接收这1024个字节,

2015-09-26 20:43:13 587

转载 BOOTP引导程序协议

BOOTP:     BOOTP是一个基于IP/UDP协议的协议,它可以让无盘站从一个中心服务器上获得IP地址,为局域网中的无盘工作站分配动态IP地址,并不需要每个用户去设置静态IP地址。使用BOOTP协议的时候,一般包括Bootstrap Protocol Server(自举协议服务端)和Bootstrap Protocol Client(自举协议客户端)两部分。BOOTP的分组

2015-09-26 20:36:55 1284

转载 TFTP简单文件传送协议

T F T P将使用 U D PT F T P使用不可靠的 U D P,T F T P 就必须处理分组丢失和分组重复。分组丢失可通过发送方的超时与重传机制解决T F T P协议没有提供安全特性。大多数执行指望 T F T P服务器的系统管理员来限制客户的访问,只允许它们访问引导所必须的文件。TFTP使用停止等待协议,数据发送方在发送下一个数据块之前需

2015-09-26 20:29:52 1998

原创 DNS域名系统

DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。每个IP地址都可以有一个主机名,主机名由一个或多个字符串组成,字符串之间用小数点隔开。

2015-09-26 17:40:45 238

转载 Internet 组管理协议

本章将介绍用于支持主机和路由器进行多播的Internet组管理协议( IGMP)。它让一个物理网络上的所有系统知道主机当前所在的多播组。多播路由器需要这些信息以便知道多播数据报应该向哪些接口转发。正如ICMP一样,IGMP也被当作IP层的一部分。IGMP报文通过IP数据报进行传输。不像我们已经见到的其他协议, IGMP有固定的报文长度,没有可选数据。图1显示了IGMP报文如何封装在IP数据报中

2015-09-26 17:27:20 2858

转载 广播和多播

多播和广播仅用于UDP(TCP是面向连接的)  * 多播:将数据帧传给同一网络上的多播组内的多个主机;   广播:将数据帧传给同一网络上的所有主机。  * 网卡判断目的地址为网卡物理地址或广播、多播地址的帧,发送给驱动程序;  * 多播地址:最高字节的最低位置1的地址(以太网):01:00:00:00:00:00   广播地址:可以看成是多播地址的特例(以太网):

2015-09-26 17:07:54 443

转载 UDP用户数据报协议

1、引言UDP是一个简单的面向数据报的运输层协议:进程的每个输出操作都正好产生一个UDP数据报,并组装成一份待发送的IP数据报。UDP数据报封装成一份IP数据报的格式如图11-1所示。说明:(1)UDP不提供可靠性:它把应用程序传给IP层的数据发送出去,但是并不保证它们能到达目的地。(2)应用程序必须关心IP数据报的长度。如果它超过网络的MTU,就要对IP数

2015-09-26 17:00:41 3322

转载 动态选路协议

1、概述Internet是由一组自治系统的方式组织的,每个自治系统如一个学校或一个公司等,这些自治系统由骨干网统一结合。自治系统内:在自治系统内选路协议为内部网关协议IGP,最常用的IGP为RIP,新的协议开放最短路径优先OSPF协议,意在取代RIP。自治系统外:连接各个自治系统的协议叫外部网关协议EGP,一个叫边界网关协议BGP,意在取代EGP。2、R

2015-09-26 16:32:51 658

转载 IP选路

IP路由选择主要要解决的问题是:在给定的主机上运行何种路由协议;如何在相邻路由器上交换选路信息;选录协议是如何工作的。这章,主要要了解单个IP层如何做出路由决策============================================选路的原理:当路由器收到一个需要它转发的IP包的时候,它会搜索路由表其步骤(按先后顺序):1)搜索匹配的

2015-09-26 16:26:16 501

转载 traceroute程序

TracerouteTraceroute是用来侦测主机到目的主机之间所经路由情况的重要工具,也是最便利的工具。前面说到,尽管ping工具也可以进行侦测,但是,因为ip头的限制,ping不能完全的记录下所经过的路由器。所以Traceroute正好就填补了这个缺憾。Traceroute的原理是非常非常的有意思,它受到目的主机的IP后,首先给目的主机发送一个TTL=1(还记得TTL是

2015-09-26 16:15:00 1334

空空如也

空空如也

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

TA关注的人

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