摘要:
package main import ( "fmt" "time")func main(){ println(time.Now().Unix()) t := time.NewTimer(time.Second*5) //第一次设置 time.Sleep(time.Second*6) //等待超时 阅读全文
摘要:
上一篇文章中介绍了一个进程执行的过程,分析了在调用子程序时栈的变化过程。本文介绍一下多进程的执行过程,当一个进程需要停下来等待某个条件或者cpu给它分配的时间片用完时需要切换给别的进程,在切换时首先会产生一个中断,然后cpu会执行相应的中断处理操作,比如一个重要的操作就是保护当前进程的栈和cpu... 阅读全文
摘要:
一个简单c程序分析一个简单的c程序main.c如下图:用命令gcc–S–omain.smain.c-m32编译成汇编文件。在汇编文件中有许多的虚指令并不会形成机器指令,为了使分析简单我们把大部分去掉:得到如下图所示:栈的介绍APUE中指出每一个c程序,都有一个独立的地址空间,在内存中的典型布局如下:... 阅读全文