9 程序员菌

尚未进行身份认证

我要认证

在该博客上只为看到更多的好文字 自己能有更多的变化 只求耕耘 不求收获 $Myheart = Computer

等级
TA的排名 6w+

多态的概念和作用(深入理解)

多态是面向对象的重要特性,简单点说:“一个接口,多种实现”,就是同一种事物表现出的多种形态。编程其实就是一个将具体世界进行抽象化的过程,多态就是抽象化的一种体现,把一系列具体事物的共同点抽象出来, 再通过这个抽象的事物, 与不同的具体事物进行对话。对不同类的对象发出相同的消息将会有不同的行为。比如,你的老板让所有员工在九点钟开始工作, 他只要在九点钟的时候说:“开始工作”即可,而不需要对销售人...

2018-09-21 15:44:14

windows下使用socket网络进程通信

Windows下Socket编程主要包括以下几部分:服务端   1、初始化Windows Socket库。   2、创建Socket。   3、绑定Socket。   4、监听。   5、Accept。   6、接收、发送数据。客户端   1、初始化Windows Socket库。   2、创建Socket。   3、连接Socket。   4、接收、发送数据。服务端每接...

2018-09-14 16:21:34

windows 上安装 libevent

Libevent官网:http://libevent.org/windows 7下编译:编译环境: windows 7 + VS2010(1)解压libevent到F:\libevent\libevent-2.0.21-stable(2)打开Microsoft visual studio 2010命令行工具(3)修改以下三个文件,添加宏定义:在以下3个文件开头添加“#def...

2018-09-14 09:48:03

Socket原理详解

1. 网络中进程之间如何通信进 程通信的概念最初来源于单机系统。由于每个进程都在自己的地址范围内运行,为保证两个相互通信的进程之间既互不干扰又协调一致工作,操作系统为进程通信提供了相应设施,如UNIX BSD有:管道(pipe)、命名管道(named pipe)软中断信号(signal)UNIX system V有:消息(message)、共享存储区(shared memory)和...

2018-09-11 15:11:00

两种方法实现MFC 对话框最大化时控件也随比例最大化或者还原

两种方法实现MFC 对话框最大化时控件也随比例最大化或者还原方法一:单个控件ID操作第一步、在对话框类中(.h文件)定义如下变量和函数定义如下几个变量:void ReSize(int nID);BOOL change_flag;float m_Multiple_height;float m_Multiple_width;afx_msg void OnSize(U...

2018-09-07 11:14:41

MFC控件使用说明

VC++控件工具箱:2 按钮(Button):用来接收用户的命令,应用程序在接收到用户命令后,通常需要进行一些后台工作。按钮可以响应单击或双击动作,在按钮接收到鼠标动作后,向其父窗口发送相应的控件通知,用户可以对这些控件通知进行消息映射,从而进行相应的处理。在一个对话框中,可以定义一个默认按钮,这只要选中按钮属性中的“Default”选项。如果在对话框活动的时候按下了Enter键,则等同于单...

2018-09-07 09:35:42

c++网站

https://en.cppreference.com/w/http://www.cplusplus.com/reference/

2018-09-06 14:57:42

Windows下使用VS2015编译openssl库

目标:编译vs环境下openssl库工具:1. 编译环境win10+vs2015专业版2. ActivePerl工具,官网下载链接:http://www.activestate.com/activeperl/downloads3. openssl源码,下载链接:https://www.openssl.org/source/,选择2016-May-03 13:57:13 opens...

2018-08-29 11:08:04

openssl用法详解

OpenSSL 是一个开源项目,其组成主要包括一下三个组件: openssl:多用途的命令行工具 libcrypto:加密算法库 libssl:加密模块应用库,实现了ssl及tls openssl可以实现:秘钥证书管理、对称加密和非对称加密 。1、对称加密对称加密需要使用的标准命令为 enc ,用法如下:openssl enc -ciphername [...

2018-08-27 09:35:05

HTTP服务器响应状态信息

文章整理自百度百科和维基百科,添加了目录,码字不易,转载请说明。消息(1xx)这一类型的状态码,代表请求已被接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束。由于HTTP/1.0 协议中没有定义任何 1xx 状态码,所以除非在某些试验条件下,服务器禁止向此类客户端发送 1xx 响应。100 Continue客户端应当继续发送请求。这个临...

2018-08-23 16:41:55

C++ MD5加密函数

任务:对输入的字符串进行MD5加密。#include <string>#include <iostream>#include <openssl/md5.h>using namespace std;/** * */string MD5(const string& src ){ MD5_CTX ctx; st...

2018-08-23 09:24:48

md5入门

md5入门什么是md5md5算法1.填充填充输入信息至N*512+448(即填充后的位数模512得448)填充内容为一个1和若干个0,即第一个为1其他都是0填充完毕后,添加一个64位的字段,字段表示的是原字段长度(单位是位,bit),如果原字段长度超过64位(即输入信息长度超过4EB,1EB=1024PB,但是就现在来说这是几乎不可能的),就取低64位。 这样就使得信息长度为N...

2018-08-22 16:25:58

回调函数基本介绍和基本使用场景

1.回调函数基本定义- 什么是函数指针  通俗来说,函数指针是一个指向特定函数的指针。函数的类型由其参数及返回类型共同决定,与函数具体名称无关。示例代码如下: int testFun1(int param1,long param2,float param3); //普通函数定义  该函数的类型为int(int,long,float),该类型的函数指针可以定义为如下: int (*pTf)...

2018-08-22 14:54:30

C++回调函数的一点理解

回调函数是通过函数指针调用的函数:把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,就称为回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。 通俗点说就是:在A类中调用B类中的某个方法C,然后B类反过来调用A类中的方法D,则D就是回调函数。 打个比方:我们将A类看成一个人...

2018-08-22 14:53:12

C语言回调函数一个简单的例子

回调函数在linux内核或是单片机上应用得太多,由此也可以大致判断,一个初学者和有个有经验的区别。我转写在这儿,希望更多的人能够看到,一起进步!!!!  回调函数通俗的解释:     普通函数:你所写的函数调用系统函数,你只管调用,不管实现。     回调函数:系统调用你所写的函数,你只管实现,不管调用。以下是使用C语言实现回调函数的一个例子:#include &lt...

2018-08-22 14:51:37

c++线程中的几种锁

这个是在中兴面试中被面试问到的一个题“你知道线程中的自旋锁么?”,我当时一脸懵逼,不知道。回来后整理下,在这里对线程中的锁进行一个学习。线程之间的锁有:互斥锁、条件锁、自旋锁、读写锁、递归锁。一般而言,锁的功能越强大,性能就会越低。1、互斥锁互斥锁用于控制多个线程对他们之间共享资源互斥访问的一个信号量。也就是说是为了避免多个线程在某一时刻同时操作一个共享资源。例如线程池中的有多个空闲线...

2018-08-22 14:48:38

c语言 多线程的简单实现 线程锁

#include <stdio.h> #include <math.h> #include <pthread.h> #include <stdlib.h> #include <string.h>#include <sys/time.h>#include <unistd.h>// #inclu

2018-08-22 14:47:38

函数指针的使用

一、为什么要有函数指针?        函数与数据项相似,函数也有地址。我们希望在同一个函数中通过使用相同的形参在不同的时间使用产生不同的效果。 二、怎么获取函数的地址?        获取函数的地址的方法很简单:只要使用函数名(不用跟参数)即可。       例如:   函数: void function( int a) ;               则func...

2018-08-22 14:42:26

C++11中std::condition_variable的使用

<condition_variable>是C++标准程序库中的一个头文件,定义了C++11标准中的一些用于并发编程时表示条件变量的类与方法等。条件变量是并发程序设计中的一种控制结构。多个线程访问一个共享资源(或称临界区)时,不但需要用互斥锁实现独享访问以避免并发错误(称为竞争危害),在获得互斥锁进入临界区后还需要检验特定条件是否成立:(1)、如果不满足该条件,拥有互斥锁的线程应...

2018-08-22 14:38:24

TCP协议中的三次握手和四次挥手(图解)

建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示:先来看看如何建立连接的。 【更新于2017.01.04 】该部分内容配图有误,请大家见谅,正确的配图如下,错误配图也不删了,大家可以比较下,对比理解效果更好。这么久才来更新,抱歉!! 错误配图如下:首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接...

2018-08-22 10:23:26

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 技术圈认证
    技术圈认证
    用户完成年度认证,即可获得
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。