自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 常见版本管理工具

http://blog.csdn.net/zhourui1982/article/details/4871896http://wenku.baidu.com/view/054ae81afad6195f312ba6c6.html一、VSSVSS 的全称为 Visual Source Safe 。作为 Microsoft Visual Studio 的一名成员,它主

2017-09-19 22:22:05 29432

原创 聊天室项目相关内容知识问答

1.  makefile的作用: makefile关系到了整个工程的编译规则。一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。 makefil

2017-08-21 10:10:42 368

原创 设计模式之建造者模式

(一)概念:Builder模式也叫建造者模式或者生成器模式,是由GoF提出的23种设计模式中的一种。Builder模式是一种对象创建型模式之一,用来隐藏复合对象的创建过程,它把复合对象的创建过程加以抽象,通过子类继承和重载的方式,动态地创建具有复合属性的对象。对象的创建:Builder模式是为对象的创建而设计的模式- 创建的是一个复合对象:被创建的对象为一个具有复合属性的复合对象- 关注对

2017-08-20 15:31:54 290

原创 设计模式之抽象工厂模式

(一)概念:抽象工厂模式是所有形态的工厂模式中最为抽象和最其一般性的。抽象工厂模式可以向客户端提供一个接口,使得客户端在不必指定产品的具体类型的情况下,能够创建多个产品族的产品对象。(二)模式中包含的角色及其职责1、抽象工厂(Creator)角色 抽象工厂模式的核心,包含对多个产品结构的声明,任何工厂类都必须实现这个接口。 2、具体工厂( Concrete  Cre

2017-08-19 14:16:50 206

原创 设计模式之工厂模式

(一)概念:工厂方法模式同样属于类的创建型模式又被称为多态工厂模式 。工厂方法模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方法模式可以使系统在不修改具体工厂角色的情况下引进新的产品。(二)模式中包含的角色及其职责:抽象

2017-08-17 19:44:53 210

原创 简单工厂模式

声明:简单工厂模式不属于23种模式中的一种(一)静态工厂方法模式:通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。(二)模式中包含的角色及其职责1.工厂(Creator)角色简单工厂模式的核心,它负责实现创建所有实例的内部逻辑。工厂类可以被外界直接调用,创建所需的产品对象。2.抽象(Product)角色简单工厂模式所创建的所有对象的父类,它负

2017-08-16 22:14:21 226

原创 简单了解ftp协议和http协议

(一)常见协议及端口(1). HTTP协议代理服务器常用端口号:80/8080/3128/8081/9080(2). SOCKS代理协议服务器常用端口号:1080(3). FTP(文件传输)协议代理服务器常用端口号:21(4). Telnet(远程登录)协议代理服务器常用端口:23(二)FTP协议FTP端口号是 21FTP的端口号能改ftp的端口号20、21的区别一个是数据

2017-08-14 17:46:36 3828

原创 MySql---数据库和数据表的创建、修改及删除

占位

2017-08-13 19:24:44 293

原创 银行综合业务储蓄平台管理系统

占位

2017-08-13 19:14:32 1194

原创 即时通讯软件的整理与心得

2017-08-12 15:38:41 692

原创 设计模式之单例模式

单例模式作用:保证一个类只生成唯一的实例对象,也就是说,在整个程序空间中,该类只存在一个实例对象单例模式的结构图:为什么需要单例模式:1、在多个线程之间,比如初始化一次socket资源2、在整个程序空间使用全局变量,共享资源3、大规模系统中,为了性能的考虑,需要节省对象的创建时间实现单例模式常用步骤:1、构造函数私有化2、提供一个全局的静态方法(

2017-08-12 10:06:17 201

原创 设计模式概述

模式:在一定环境中解决某一问题的方案,包括三个基本元素--问题,解决方案和环境(固定套路)。设计模式是软件工程的基石脉络,如同大厦 的结构一样设计模式分为三种形式:(一)创建型模式:通常和对象的创建有关,涉及到对象实例化的方式。(共5种模式)1、工厂方法模式(Factory Method Pattern)的用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中。

2017-08-11 09:16:41 177

转载 设计模式6大原则

本文转自:http://www.cnblogs.com/lhws/archive/2012/03/10/2389189.html单一职责原则(Single Responsibility Principle)定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需

2017-08-09 09:03:16 188

原创 c++之多态

(一)多态的定义:接口多种不同的实现方式,称为多态基类指针指向基类对象时,就是使用基类的成员变量和函数基类指针指向派生类对象时,就是使用派生类的成员变量这样,基类指针可以按照多种形式来表现,这就叫做多态(二)指针与引用1)在多态的情况下,引用不如指针方便2)引用只能指定固定的对象,不能修改,而指针可以指向任意的方向(三)多态形成的三个必要条件

2017-08-08 09:49:58 190

原创 c++之继承与派生

(一)继承的概念:继承(Inheritance)可以理解为一个类从另一个类获取成员变量和成员函数的过程。例如类 B 继承于类 A,那么 B 就拥有 A 的成员变量和成员函数。被继承的类称为父类或基类,继承的类称为子类或派生类。(二)继承权限与继承方式1.C++继承的一般语法为:class 派生类名:[继承方式] 基类名{    派生类新增加的成员};

2017-08-07 22:00:58 170

原创 c++之重载函数(一)

(一)概念:什么是重载1 所谓重载,就是重新赋予新的含义。函数重载就是对一个已有的函数赋予新的含义,使之实现新功能,因此,一个函数名就可以用来代表不同功能的函数,也就是”一名多用”。(运算符重载的本质是一个函数)2 运算符重载的限制:只需记住下面几个特殊的运算符不能重载即可:  1 .(点) 2.::(域解析符) 3   .*(对象选择符) 4  ?:(条件运算符) 5. si

2017-08-06 10:33:53 260

原创 C++之类和对象(二)

(八)对象的动态建立与释放1.new 和 delete的用法:1)在C语言中是利用库函数malloc和free来分配和撤销内存空间的。C++提供了较简便而功能较强的运算符new和delete来取代malloc和free函数。注意点:new和delete是运算符,不是函数,因此执行效率高。2) new运算符的例子:new int;            //开辟一个存放整数的存储

2017-08-05 00:40:46 237

原创 C++之类和对象(一)

(一)面向对象编程介绍1什么是面向对象:面向对象将系统看成通过交互作用用来完成特定功能对象的集合,每个对象用自己的方法来管理数据,也就是说只有对象内部的代码能够操作对象内部的数据。2面向过程的缺点:不容易维护,灵活性差,不容易扩展,更谈不上复用,由于客户的需求多变,导致程序员加班加点,甚至整个项目经常返工。3面向对象的优点:通过,继承、封装、多态降低程序的耦合度

2017-08-04 22:35:26 219

原创 C++对C语言的扩展(二)

(一)C++中的const1)C语言与C++中的const 比较:1° C语言中const变量是只读变量,有自己的存储空间 2° C++中的const常量可能分配存储空间,也可能不分配存储空间  C语言中的const#include int main(){ // C语言中 const修饰的变量是一个 常变量,本质还是变量,有自己的地址空间

2017-08-03 20:45:20 259

原创 C++概述

1首先要明白嵌入式开发中为什么学习c++语言:1)嵌入式软件工程师岗位需求2)面向过程编程与面向对象编程 1°面向过程编程的特点:面向过程程序设计:数据结构加算法,主要解决科学计算问题,用户需求简单而固定  特点:分析解决问题所需要的步骤;利用函数实现各个步骤;在依次调用函数解决问题。  问题:软件可重用性差;软件可维护性差;构建的软件无法满足客户需求。2°C语言的特点:C

2017-08-03 09:01:37 293

原创 c++对C语言的扩展(一)

(一) C++对C的加强:1)命名空间:为什么要引入命名空间这个概念:一个中大型软件往往由多名程序员共同开发,会使用大量的变量和函数,不可避免地会出现变量或函数的命名冲突。当所有人的代码都测试通过,没有问题时,将它们结合到一起就有可能会出现命名冲突。 例如小李和小韩都参与了一个文件管理系统的开发,它们都定义了一个全局变量 fp,用来指明当前打开的文件,将他们的代码整合在一起编译时,

2017-08-01 12:51:27 837

转载 深层揭密extern "C"

1.引言  C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处理方式与C有

2017-07-30 16:35:44 168

转载 TCP与UDP的区别

TCP和UDP的区别(转)    首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信!TCP/IP协议是一个协议簇。里面包括很多协议的。UDP只是其中的一个。之所以命名为TCP/IP协议,因为TCP,IP协议是两个很重要的协议,就用他两命名了。(一)T

2017-07-28 17:28:05 359

转载 孤儿进程,僵尸进程,守护进程的剖析

其实有时想想linux内核的设计也蕴含着很多人生哲学,在linux中有这么几个特殊进程中,我们一开始见到它们的名字可能还会觉得很诧异,但在了解完了原理后,我们仔细想想,这样的命名也不无道理!下面我就给大家分别介绍一下这三种特殊的进程!  1.孤儿进程  如果父进程先退出,子进程还没退出那么子进程将被 托孤给init进程,这是子进程的父进程就是init进程(1号进程).其实还是很好理

2017-07-28 09:35:58 273

原创 Internet采用哪种网络协议?该协议的主要层次结构?

TCP/IP协议(Transmission Control Protocol/Internet Protocol)叫做传输控制/网际协议,又叫网络通讯协议,这个协议是Internet国际互联网络的基础。TCP/IP是用于计算机通信的一组协议,我们通常称它为TCP/IP协议族。它是70年代中期美国国防部为其ARPANET广域网开发的网络体系结构和协议标准,以它为基础组建的INTERNET是目前国

2017-07-27 12:53:04 11167

原创 简述static关键字在c/c++中的作用

在C语言中,关键字static有三个明显的作用:1)在函数体内,一个被声明为静态的变量在这一函数被调用过程中维持其值不变(该变量存放在静态变量区)。2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。注意,只有在定义了变量后才能使用。如果变量定义在使用之后,要用extern 声明。所以,一般全局变量都会在文件的

2017-07-27 12:51:40 10469

原创 gcc和makefile(二)

工程管理器在实际的开发过程中,仅仅通过使用gcc命令对程序进行编译是非常低效的。原因主要有以下两点。1)程序往往是由多个源文件组成的,源文件的个数越多,那么gcc的命令行就会越长。此外,各种编译规则也会加大gcc命令行的复杂度。所以在开发调试程序的过程中,通过输入gcc命令行来编译程序是很麻烦的。2)在程序的整个开发过程中,调试的工作量占到了整体工作量的70%以上。在调试程序的过程中,

2017-07-26 21:06:17 242

原创 gcc和makefile(一)

GCC在Linux平台上,最流行的编译系统是GCC(GNU Compile Collection)。GCC也是GNU发布的最著名的软件之一。GCC的功能非常强大,主要体现在两方面。1) GCC可以为x86、ARM、MIPS等不同体系结构的硬件平台编译程序。2) GCC可以编译C、C++、Pascal、Java等数十种高级语言。GCC的这两项特性对嵌入式应用开发及其重要。此外,GCC

2017-07-26 20:57:05 416

转载 OSI(开放式系统互联)的七层模型,并简述其作用

OSI是Open System Interconnect的缩写,这个模型把网络通信的工作分为7层,它们由低到高分别是应用层(Application Layer)。表示层(Presen tation Layer)会话层(Session Layer传输层(Transport Layer),网络层(Network Layer),数据链路层(Data Lin

2017-07-26 20:09:12 1394

转载 TCP的三次握手协议

TCP(Transmission Control Protocol) 传输控制协议TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:位码即tcp标志位,有6种标示:SYN(synchronous建立联机) ACK(acknowledgement 确认) PSH(push传送) FIN(finish结束) RST(reset重置) URG(urgent

2017-07-26 11:13:58 185

转载 Windows以及c++内存分配方式

Windows内存分配方式Win32的堆分配函数每一个进程都可以使用堆分配函数创建一个私有的堆──调用进程地址空间的一个或者多个页面。DLL创建的私有堆必定在调用DLL的进程的地址空间内,只能被调用进程访问。HeapCreate用来创建堆;HeapAlloc用来从堆中分配一定数量的空间,HeapAlloc分配的内存是不能移动的;HeapSize可以确定从堆中分配的空间的大小;Hea

2017-07-25 11:07:58 865

转载 面向对象的三个特征及其优缺点

1、封装      把客观的事物封装成抽象的类;类可以将自身的数据和方法给可信的类或者对象操作,对不可信的进行隐藏信息。2、继承      可以在现有类的基础上无需重写,扩展类的功能.      通过继承创建的新类称之为"子类"、"派生类".    被继承的类称之为"基类"、"父类"、"超类';          继承实现方式有三种:    

2017-07-24 20:48:42 4534

原创 算法之道,结构之法,非常有用

读者可以到下面这个网址:http://blog.csdn.net/v_july_v/

2017-07-23 12:24:51 584

原创 数据结构(一)

(一)1°从逻辑结构上分:(1)集合结构:该结构的数据元素间的关系是“属于同一个集合”。(2)线性结构:该结构的数据元素之间存在着一对一的关系。(3)树型结构:该结构的数据元素之间存在着一对多的关系。(4)图形结构:该结构的数据元素之间存在着多对多的关系,也称网状结构。数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心

2017-07-21 12:58:54 217

原创 c语言之函数(一)

(一)函数(Function)是一段可以重复使用的代码,这是从整体上对函数的认识。C语言本身带了很多库函数,并分门别类地放在了不同的头文件中,使用时只要引入对应的头文件即可。除了C语言自带的函数,我们也可以编写自己的函数,称为自定义函数(User-Defined Function)。自定义函数和库函数没有本质的区别,表现形式和使用方法一样,只是开发者不同而已。 这一章我们就来讲解如

2017-07-20 16:11:26 393

原创 C语言之文件系统编程

(一)系统调用所有的操作系统都提供多种服务的入口点,程序由此向内核请求服务。这些可直接进入内核的入口点被称为系统调用。为什么用户程序不能直接访问内核提供的服务?在Linux中,为了更好地保护内核空间,程序的运行空间分为内核空间和用户空间(也就是常称的内核态和用户态),它们分别运行在不同的级别上,在逻辑上是相互隔离的。因此,用户进程在通常情况下不允许访问内核数据,也无法使用内核函数,它们

2017-07-17 20:40:03 965

原创 c语言之内存管理(二)

内存泄漏几乎是很难避免的,会产生泄漏的内存,也就是说由malloc系列函数或new操作符分配的内存。如果用完之后没有及时free或delete,这块内存就无法释放,直至整个程序终止。1)如何使用malloc函数malloc函数的原型:(void *)malloc(int size)malloc函数的返回值是一个void 类型的指针,参数为int类型数据,即申请分配的内存大小,单位是

2017-07-17 20:39:19 190

原创 C语言之内存管理(一)

1.一般来说,我们可以简单地理解为内存分为3个部分:堆,栈和静态区。堆栈就是栈,而不是堆。堆的英文是heap;栈的英文是stack,也翻译为堆栈。1)堆:由malloc系列函数或new操作符分配的内存。其生命周期又free或delete决定,在没有释放之前一直存在,直到程序结束。其特点是使用灵活,空间比较大,但容易出错。2)栈:保存局部变量。栈上的内容只在函数的范围内存在,当函数运行结束,

2017-07-14 16:35:44 174

原创 c语言之指针和数组(一)

1.指针的概念:简单来说,指针表示的是它指向对象的地址2.一切都是地址:数据和代码都以二进制的形式存储在内存中,CPU只能通过地址来取得内存中的代码和数据,CPU访问时需要的是地址,而不是变量名和函数名,当源文件被编译和链接成可执行程序后,他们都会被替换为地址3.目前学到的语法中,星号*的三个用途:1)表示乘法2)表示定义一个指针变量3)表示获取指针指向的数据4.以指针的形式访问指针(

2017-07-13 23:06:08 204

原创 最会戴帽子的关键字-----extern

extern,外面的,外来的意思,那它有什么作用了?举个例子:假设你在大街上看到一个黑皮肤、绿眼睛、红头发的美女(外星人?)或者帅哥。你的第一反应就是这人不是国产的。extern就相当于他们的这些区别于中国人的特性。extern可以置于变量与函数前,以表明变量或函数的定义在别的文件中,下面代码用到的这些变量以及函数都是外来的,不是本文件定义的,提示链接器遇到此变量和函数时在其他模块中解析/绑定此标

2017-07-12 15:22:41 257

空空如也

空空如也

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

TA关注的人

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