- 博客(70)
- 收藏
- 关注
原创 c++异常管理(二)---setjmp、longjmp与自动变量
首先上代码:#include <stdio.h>#include <stdlib.h>#include <setjmp.h>staticvoid f1(int,int,int,int);staticvoid f2(void);staticjmp_buf jmpbuffer;staticint globval; //静态全局变量,保存在bss或者data段intmain(vo
2015-07-07 10:34:03
530
原创 C++异常系列(一)----setjmp 与 longjmp
转载自 http://blog.youkuaiyun.com/chenyiming_1990/article/details/8683413setjmp与longjmp是非局部性跳转语句:非局部指的是,这不是由普通C语言goto,语句在一个函数内实施的跳转,而是在栈上跳过若干调用帧,返回到当前函数调用路径上的某一个函数中。#include<setjmp.h>int setjmp(jmp_buf env);
2015-07-07 09:13:41
1126
原创 如何学习Linux
从研究生学习Linux 开始,陆陆续续已经快一年时间了。期间看了不少书,也看了不少的源代码, 但是终究没有经过实战,没有在实践中解决实际问题,没有编译过内核,没有真正的经过代码的锤炼,所以很多东西并不深入的理解,半瓶水瞎咣当。我追被这一连个月好好的学习一下Linux方面的知识:如何学习Linux呢?学习Linux的命令。 在面试中很多会问到 Linux 的命令。 a. 与 进程相关的 (查看一
2015-06-06 14:55:59
519
转载 Linux 信号机制 (四)
推荐文章Linux环境进程间通信(二): 信号(下)在信号处理机制(三)中,我们首先讨论了 Linux 信号的种类,来源,如何安装一个信号,如何发送一个信号,以及如何对信号集进行操作。 这篇文章 首先讨论从信号的生命周期上认识信号,或者宏观上看似简单地信号机制(进程收到信号之后,作如何相应的处理,看上去再简单不过了),在微观上是如何实现的,也就是在深层次上理解信号。 接下来还讨论了信号编程上的一些注
2015-05-29 23:06:36
440
转载 Linux 信号机制(三)
信号机制,远比想象中的复杂。信号的本质信号是在软件层次上对中断机制的一个模拟,原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。 信号是异步的,一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号什么时候到达。信号是进程间通信机制中的唯一的异步通信机制, 可以看做异步通知,通知接收信号的进程有哪些事情发生了。 信号机制 经过 POSIX实时扩展之后,功能更加强大,除
2015-05-29 20:30:04
625
转载 Linux 进程--父进程查询子进程的退出状态
转载至文章: linux系统编程之进程(六):父进程查询子进程的退出,wait,waitpid本节目标:僵尸进程SIGCHLDwaitwaitpid僵尸进程当一个子进程先于父进程结束运行时,它与其父进程之间的关联还会保持到父进程也正常地结束运行,或者父进程调用了wait才告终止。子进程退出时,内核将子进程置为僵尸状态,这个进程称为僵尸进程,它只保留最小的一些内核数据结构,以便父进程查询子进
2015-05-28 22:17:42
9429
转载 进程的同步与通信
[来源于文章,表示十分古老的文章了] (http://oa.gdut.edu.cn/os/multimedia/oscai/chapter8/pages/ch83.htm)Sleep 与 wakeup 同步机制sleep进入sleep过程后,核心首先保存进入睡眠时的处理机运行级,再提高处理机的运行优先级,来屏蔽所有的中断,接着将该进程置为“睡眠”状态,将睡眠地址保存在进程表项中,并将该进程放入睡眠队
2015-05-28 21:11:48
669
原创 Crit-Bit Tree 深度解析
自己写了一篇文章,保存了草稿,但是却没了,表示很无奈。 这是一篇高质量的文章。 周六在写吧。网页: http://www.quora.com/What-are-the-disadvantages-of-crit-bit-treeshttp://cyukang.com/2013/05/18/critbit.htmlhttp://cr.yp.to/critbit.htmlhttps://www.im
2015-05-27 21:49:07
3486
翻译 Go 工作空间 深度解析
本文章来自于 谷歌官方的翻译: How to Write Go Code? http://godoc.golangtc.com/doc/code.html介绍这篇文档举例证明了一个简单地 Go package 并且介绍了 go tool,标准的方法来 fetch, build,and install Go package and commands.如果要使用 go tool,那么就必须将代码组织成
2015-05-06 10:37:07
2457
翻译 GOPATH 深度解析
本篇博客来自于 Go语言介绍 golang官方1 golang官方2GOPATH 是golang 中的一个环境变量,了解它对了解整个golang项目的组织方式很有帮助,同时很多go 命令也会默认用到 GOPATH,所以必须牢固掌握。原文如下: The GOPATH environment variable is used to specify directories outside of
2015-05-06 09:58:28
2942
原创 Go 中的一些问题
go 语言中的分段栈和连续栈go并发模式管道和取消go tips在做什么go 中的package ‘os’go 中的 package ‘syscall’
2015-04-13 09:22:37
708
原创 面试题 -- 树
总结一下,有关树的各种面试题。 我觉得自己算法基础很好,但是实际看来写代码的能力确实不好,在这方面做得也不好,本科没有怎么参加ACM,所以代码训练很少,以后多多训练吧。1.非常好的总结帖 2. 用各种遍历顺序求取树的高度 3. 如何求取一个序列的所有排列组合?采用递归 4. 希尔排序
2015-04-04 16:17:53
508
原创 哈希算法
哈希表,又称为散列表,是一种数据结构,大体概念估计大家都清楚,我这里不在赘述。目的:用来查询。 通过给定关键字—> 直接找到数据的内存位置(也就是说直接此数据)。 (是不是和 key-value 很像)方式: 通过计算一个键值的函数,将所需要查询的 数据映射到表中的一个位置来访问记录,这样子加快了查找速度。 这个函数称为散列函数,存放记录的数组称为散列表。 有两点很重要: 先撇开哈希算法,我们应
2015-04-04 11:40:33
714
原创 TCP -- 传输控制协议
推荐 《图解TCP/IP》,简直是程序员的福音TCP 协议是 面向连接的, 可靠的,流传输,协议。 流:是指 不间断 的数据结构,可以想象成排水管道中的水流。当应用程序采用 TCP 发送消息的时候,虽然可以保证发送的顺序,但是还是犹如没有任何间隔的数据流,发送给接收端。 可以这么理解:在发送端,应用程序发送了10次 100 字节的消息,但是在接收端,应用程序可能会受到一个1000
2015-03-30 22:46:53
1030
原创 UDP -- 用户数据报协议
UDP: User Datagram Protocol。 是 OSI 七层模型中的传输层的协议。 也是面向数据报的传输层协议。UDP 的特点UDP 不提供复杂的控制机制,利用 IP 提供面向无连接的通信服务。 并且它是将应用程序传递的数据在接收到的那一刻,立即按照原样发送到网络上的一种机制。应用程序传递数据 ——> UDP 按照原样立即发送。
2015-03-30 21:38:00
1774
翻译 Golang -- 10件你不知道的事情
本文翻译 从 文章进行翻译,在此表示感谢10 things you (probably) don’t know about golang
2015-03-26 23:15:51
2388
原创 Golang -- 使用 Bufferd channel 实现 线程安全的 pool
从 文章 进行转载,再次感谢 概述我们知道,Go 语言已经提供了 sync.Pool,但是做的不怎么好,所以有必要来实现一个 Pool代码type Pool struct { pool chan *Client}// Create a new Poolfunc NewPool(max int) *Pool{ return &Pool{ pool: make(cha
2015-03-26 23:06:10
2726
原创 Golang -- 字节切片
Go 语言标准库 bytes ,实现了对字节数组的各种操作。 It is analogous to the facilities of strings package. (它和string 标准包提供的功能类似) 提供的功能如下;字节切片 处理函数 基本处理函数字节切片比较函数 前后缀检查函数字节切片位置索引函数分割函数大小写处理函数子字节切片处理函数Buffer 对象R
2015-03-23 19:05:51
6504
原创 Go语言中的 Array, Slice和 Map
介绍曾经学习python的时候,记得书上说 dict 是 python的 horsepower(动力)。然后,Slice 和 Map 又何尝不是 golang 的 workhorse 呢?
2015-03-23 14:51:18
2185
原创 Go 语言中的 new() 和 make()的区别
本文是看了文章之后的心得。 在此感谢。概述Go 语言中的 new 和 make 一直是新手比较容易混淆的东西,咋一看很相似。不过解释两者之间的不同也非常容易。
2015-03-23 09:36:13
7981
原创 C++ 实现 设计模式 系列
有关设计模式,褒贬不一,这里为了女朋友看,而且为了面试,特地记载下来, 当然已经有很多的好的实现了。我这里也会转载网址。文章推荐首先推荐文章 设计模式系列也是一个非常好的C++博客,写了很多的内容,都可以进行一看! 博客主页
2015-03-22 11:22:54
571
原创 Go 语言的 parse 解析器
解析器起始很简单,但是用处很大。当我们解析 XML文件,json文件,对源代码进行静态分析都是需要解析器。 Go 语言的 parser 是一个十分基础的解析器,采用递归下降语法进行解析。接下来,我就进行逐一的分析!(待完成)
2015-03-20 16:24:32
1987
转载 等概率随机数面试提总结
等概率随机数是面试中经常考的内容,十分重要,再次特地整理一些题目,资料全部来自网上。文章http://blog.youkuaiyun.com/chdhust/article/details/10601167 是一个很好的总结。1. 基础问题 和 解决办法。已知: 有一个随机函数 rand_0_and_1_with_p(), 这个随机数生成器,它能够以概率 p 产生0,以概率 (1
2015-03-20 14:22:33
2035
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人