- 博客(8)
- 资源 (106)
- 收藏
- 关注
原创 阻塞、非阻塞IO
阻塞与非阻塞是对于文件而言的,而不是指read、write等的属性。阻塞IO应用程序调用IO函数,导致应用程序阻塞,等待数据准备好。如果数据没有准备好,一直等待数据准备好了,从内核拷贝到用户空间,IO函数返回成功指示。读常规文件是不会阻塞的,不管读多少字节,read一定会在有限的时间内返回。一般网络、终端设备IO都是阻塞I/O。如果从终端输入的数据没有换行符,调用read读...
2017-11-14 20:06:22 6329
原创 vim-csupport
简介如果你还在为编写 c/cpp 过程中添加注释而烦恼的话,那么 vim 插件 csupport 就将会是你的好朋友了。csupport 除了提供快捷键添加注释块以外,还能够快速插入定义函数、预处理、当前日期等。安装和配置官网:http://www.vim.org/scripts/script.php?script_id=213 下载页面:https://github.com/W...
2017-11-14 11:20:30 2976
原创 Go基础编程:复合类型—数组
概述数组是指一系列同一类型数据的集合。数组中包含的每个数据被称为数组元素(element),一个数组包含的元素个数被称为数组的长度。数组⻓度必须是常量,且是类型的组成部分。 [2]int 和 [3]int 是不同类型。 var n int = 10 var a [n]int //err, non-constant array bound n var b [1...
2017-11-11 14:28:15 7494
原创 Go基础编程:复合类型—指针
指针是一个代表着某个内存地址的值。这个内存地址往往是在内存中存储的另一个变量的值的起始位置。Go语言对指针的支持介于Java语言和C/C++语言之间,它既没有想Java语言那样取消了代码对指针的直接操作的能力,也避免了C/C++语言中由于对指针的滥用而造成的安全和可靠性问题。基本操作Go语言虽然保留了指针,但与其它编程语言不同的是:默认值 nil,没有 NULL 常量操作符 “...
2017-11-11 14:24:47 5892 1
原创 Go基础编程:工程管理
概述在实际的开发工作中,直接调用编译器进行编译和链接的场景是少而又少,因为在工程中不 会简单到只有一个源代码文件,且源文件之间会有相互的依赖关系。如果这样一个文件一个文件逐步编译,那不亚于一场灾难。 Go语言的设计者作为行业老将,自然不会忽略这一点。早期Go语言使用makefile作为临时方案,到了Go 1发布时引入了强大无比的Go命令行工具。Go命令行工具的革命性之处在于彻底消除了工程...
2017-11-11 12:57:36 6001
原创 Go基础编程:包
所有 Go 语言的程序都会组织成若干组文件,每组文件被称为一个包。这样每个包的代码都可以作为很小的复用单元,被其他项目引用。一个包的源代码保存在一个或多个以.go为文件后缀名的源文件中,通常一个包所在目录路径的后缀是包的导入路径。自定义包对于一个较大的应用程序,我们应该将它的功能性分隔成逻辑的单元,分别在不同的包里实现。我们创建的的自定义包最好放在GOPATH的src目录下(或者G...
2017-11-11 12:25:41 4544
原创 Go基础编程:工作区
工作区介绍Go代码必须放在工作区中。工作区其实就是一个对应于特定工程的目录,它应包含3个子目录:src目录、pkg目录和bin目录。src目录:用于以代码包的形式组织并保存Go源码文件。(比如:.go .c .h .s等)pkg目录:用于存放经由go install命令构建安装后的代码包(包含Go库源码文件)的“.a”归档文件。bin目录:与pkg目录类似,在通过go install...
2017-11-11 12:18:56 4568
原创 Go基础编程:作用域
作用域为已声明标识符所表示的常量、类型、变量、函数或包在源代码中的作用范围。局部变量在函数体内声明的变量、参数和返回值变量就是局部变量,它们的作用域只在函数体内:func test(a, b int) { var c int a, b, c = 1, 2, 3 fmt.Printf("a = %d, b = %d, c = %d\n", a, b, c)...
2017-11-11 11:51:30 2749
标准模板库之map示例代码
2015-09-17
C语言排序实例(选择、冒泡、插入、折半、快速)
2015-09-04
ui 文件和 Qt 代码关系测试代码
2015-08-28
利用 Qt Creator 建立空白工程文件示例代码
2015-08-26
Qt快速入门(vim纯代码编写)测试代码
2015-08-26
进程同步与互斥:System V 信号量示例代码
2015-08-20
标准库 string 类的使用示例代码
2015-07-13
QWidget样式表设置背景示例代码
2015-06-26
标准模板库之vector示例代码
2015-06-25
C++入门学习——模板示例代码
2015-06-24
Qt4 项目迁移到 Qt5 问题测试代码
2015-06-18
有名信号量示例代码
2015-06-15
无名信号量示例代码
2015-06-15
互斥锁示例代码
2015-06-14
线程池示例代码
2015-06-14
线程同步与互斥:读写锁示例代码
2015-06-14
线程私有数据示例代码
2015-06-11
线程示例代码
2015-06-10
共享内存示例代码
2015-06-09
protobuf导入定义(import)
2017-06-30
protobuf枚举和包的使用
2017-06-29
repeated限定修饰符的使用
2017-06-29
protobuf常用序列化和反序列化API
2017-06-29
base64编码和解码
2017-06-23
使用HTTP协议实现通信
2016-12-28
C++单向链表的实现
2015-11-06
虚函数表介绍示例代码
2015-10-19
C++中explicit作用示例代码
2015-10-13
Linux多播组测试代码
2015-10-11
C++通过jsoncpp类库读写JSON文件示例代码
2015-09-29
线程基类的设计示例代码
2015-09-29
C++单例模式示例代码
2015-09-29
JsonCpp源码
2015-09-29
线程堆栈大小的使用介绍示例代码
2015-09-27
C++通过TinyXML类库读写XML文件示例代码
2015-09-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人