6 kang___xi

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 3w+

INADDR_ANY的含义

在一些socket通信的服务器程序中我们会看到在服务器bind IP地址和端口号时,我们不是bind明确的IP地址(如222.20.79.150),而是使用INADDR_ANY,这会让我们产生一个疑问,就是如果服务器程序不使用明确的IP地址,那么客户端该如何连接服务器呢? 下面对这个问题进行解答。 INARRD_ANY是用于多网卡的机器上的,多网卡就会有多个IP地址...

2019-06-27 12:53:01

visual studio 2017配置jsoncpp

1.下载jsoncpp下载链接为:http://sourceforge.net/projects/jsoncpp/2.编译静态库(1)打开sln        下载好源码以后使用visual studio打开文件夹jsoncpp-src-0.5.0\makefiles\vs71下的jsoncpp.sln。这里我使用的是visual studio2017(2)生成静态库   ...

2019-02-24 09:39:36

Go语言学习笔记(补充)格式化输出

动  词 功  能 %v 按值的本来值输出 %+v 在 %v 基础上,对结构体字段名和值进行展开 %#v 输出 Go 语言语法格式的值 %T 输出 Go 语言语法格式的类型和值 %%...

2019-01-24 11:16:46

Go语言学习笔记(十)Go语言编译与工具

Go语言的工具链非常丰富,从获取源码、编译、文档、测试、性能分析,到源码格式化、源码提示、重构工具应有尽有。1.go build        Go语言中使用go build命令将源码编译为可执行文件。(1)go build无参数编译        在main包所在目录下使用go build命令进行编译,生成当前目录名的可执行文件。(2)go build + 文件列表   ...

2019-01-24 09:33:22

Go语言学习笔记(九)并发

        并发指在同一时间内可以执行多个任务。        Go语言通过编译器运行时(runtime),从语言上支持了并发的特性。Go语言的并发通过goroutine特性完成。goroutine类似于线程,但是可以根据需要创建多个goroutine并发工作。goroutine是由Go语言的运行时调度完成的,而线程是由操作系统调度完成。1.goroutine(轻量级线程)    ...

2019-01-23 17:44:15

Go语言学习笔记(八)包(package)

        Go语言的源码服用建立在包(package)基础之上。Go语言的入口main()函数所在的包叫main,main包想要引用别的代码,必须同样以包的方式进行引用。        Go语言的包与文件夹一一对应,所有与包相关的操作,必须依赖于工作目录GOPATH。1.GOPATH(1)使用命令行查看GOPATH信息zk@ubuntu:~/Go$ echo $GOPATH...

2019-01-21 22:03:12

Go语言学习笔记(七)接口

        Go语言中的接口作用类似于C++中的虚函数机制,可以提供一个统一调用的方式。         接口是双方约定的一种合作协议。接口实现者不需要关心接口会被怎样使用,调用者也不需要关心接口的实现细节。接口是一种类型,也是一种抽象结构,不会暴露所包含数据的格式、类型及结构。1.接口的定义         每个接口类型由多个方法组成。type 接口类型名 interfac...

2019-01-21 17:32:41

Go语言学习笔记(六)方法和接收器

    C++是一种面向对象的编程语言,我们可以为类提供成员变量和成员方法。而在Go中没有类的概念,但是也提供了类似的机制来表示,那就是方法。        Go语言中的方法(method)是一种作用于特定类型变量的函数。这种特定类型变量叫做接收器(receiver)。如果将特定类型理解为结构体或类,那接收器的概念就类似于其他语言中的this或者self.        在Go语言中,接收...

2019-01-20 11:19:21

Go语言学习笔记(五)Go语言结构体

        Go语言的关键字type可以将各种基本类型定义为自定义类型,基本类型包括整型、字符串、布尔等。结构体是一种复合的基本类型,通过type定义为自定义类型后,使结构体更便于使用。1.结构体定义格式type 类型名 struct { 字段1 字段1类型 字段2 字段2类型 ......}类型名:标识自定义结构体的名称,在同一个包内不能重复st...

2019-01-19 11:44:43

Go语言学习笔记(四)Go语言函数

        Go语言的函数声明以func标识,后面紧接着函数名、参数列表、返回参数列表以及函数体。1.普通函数的声明形式func 函数名(参数列表) (返回参数列表){ //函数体}注意:在同一个包内,函数名不能相同参数列表中如果多个参数类型相同,则可放在一起声明。如func test(a, b int) {}同时声明a, b为int类型函数可以同时返回多个值...

2019-01-18 09:55:55

Go语言学习笔记(三)Go语言流程控制

1.if-else(分支结构)a).格式1if 表达式1 { 分支1} else if 表达式2 { 分支2} else{ 分支3}b).格式2if 语句1; 条件表达式 { //to do}注意:a).左花括号{必须跟在if/else后面,不能另起一行2.for(循环结构)for 初始语句;条件表达式;结束语句{ ...

2019-01-17 19:57:22

Go语言学习笔记(二)Go语言容器(array、slice、map、list)

1.数组        数组(array)是一段固定长度的连续内存区域。在go语言中,数组从声明时就确定,使用时可以修改数组成员,但是数组大小不可变化。a).数组的声明var 数组名 [元素数量]T注:元素数量必须是整型数值且在编译期就确定T可以是任意基本类型,包括T为数组本身,此时可以实现多维数组b).数组的初始化方式1:var str [3]stringstr[0]...

2019-01-17 16:45:00

Go语言学习笔记(一)Go语言变量的声明和初始化

       由于我以前是学的C/C++语言,所以在博客中会将Go与C/C++进行对比来学习:       Go语言作为C语言家族的新派代表,在C语言的定义方法和类型上做了优化和调整,更加灵活易学。今天首先从最简单的变量声明开始进行学习:1.三种声明方式        普通变量的声明有三种方式,第一种和第二种通过关键字var来声明变量,第三种则靠编译器进行推断,分别如下:var ...

2019-01-17 10:50:59

linux常用快捷键总结(shell快捷键和vim快捷键)

1.Shell命令行快捷键ctrl + a: 跳到命令行首ctrl + e:跳到命令行尾ctrl + u: 删除光标至命令行首的内容ctrl + k: 删除光标至命令行尾的内容ctrl + l: 清屏ctrl + r: 检索历史命令ctrl + i: 相当于tab键,补全命令ctrl + s: 使终端静止,让快速输出的屏幕停下来ctrl + q: 退出ctrl+s引起的静止...

2018-12-02 17:46:29

使用软链接解决/home挂载目录磁盘不足问题

       我们有时候会碰到这样的事,一个服务器同时有多个人在使用,我们每个人都有一个用户名和密码,通过用户名和密码登录上服务器以后就直接使用,但是大家忽略了一个问题,就是我们的家目录挂载在哪个目录下,以及我们所挂载的目录容量是否足够大,如果容量太小应该怎么办,今天就是来解决这个问题的。1.问题描述    如下图,/dev/sda6挂载在/home目录下,即我们普通用户家目录下的数据都存...

2018-11-22 23:17:53

Linux下目录与文件的权限意义

        我们知道Linux系统内文件的是那种身份(所有者、用户组合其他人),每种身份都有三种权限(rwx)。我们可以通过chown、chgrp和chmod三个命令来修改这些权限和属性。下面来分别详细介绍一下这三种权限对文件或目录的意义。1.权限对文件的重要性r(read):可读取此文件的实际内容,如入度文本文件的文字内容等。 w(write):可以编辑、新增或者修改该文件的内容...

2018-11-06 23:47:04

TCP三次握手和网络编程函数的对应关系

1.客户端调用connect()函数,此时客户端会向服务端发送SYN2.服务端收到SYN后,会从listen()函数返回SYN+ACK3.客户端收到connect()函数的返回,之后向服务端发送最后一个ACK4.服务端收到最后一个ACK以后,将该连接请求从未完成连接队列放入已完成连接队列中,等待accept()从该队列中取出...

2018-10-14 12:11:11

listen()函数的backlog参数含义详解

 #include <sys/socket.h>int listen(int sockfd, int backlog);sockfd是调用socket()函数的返回值,不用多解释。这里主要说明backlog参数的含义:        为了理解其中的backlog参数,我们必须认识到内核为任何一个给定的监听套接字维护两个队列:       (1)未完成连接队列,每个...

2018-10-14 12:03:48

编译期多态和运行期多态

       运行期多态(runtime polymorphism),也称为显式多态,是指类中成员函数是virtual,类将对这些函数表现出运行期多态,也就是说将于运行期根据基类指针或者引用的动态类型决定究竟调用哪一个函数。       编译期多态(cmpile-time polymorphisms),也称为隐式多态,是指以不同的template参数具现化function templates ...

2018-09-20 22:27:36

C++ string的最常用的用法总结

1.string的构造方法string s(cp);string s(cp, n);string s(s1);string s(s1, pos2);string s(s1, pos2, len2);2.substr()s.substr(pos, n):返回一个string,包含s中从pos开始的n个字符的拷贝。pos的默认值为0,n的默认值为              ...

2018-09-18 15:26:17

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!