golang高级
文章平均质量分 66
兔头哥哥
正在积极治疗秃顶
展开
-
4、系统调用
1、分级保护域CPU为操作系统提供了特殊的安全支持,分成了ring-0到ring-3几个层级。从0到3权限逐级降低应用运行在ring-3层,权限被严格限制2、什么是系统调用系统内核为应用层提供的API操作系统为上层的应用程序提供了个“标准库”Linux下所有系统调用都是同步的对于应用来说,系统调用可以实现超出自身能力以外的事情寄存器寄存器是CPU内部的特殊存储单元,寄存器里面可以放一些内存地址系统调用的调用规约系统调用有自己的一套调用规约,需要使用寄存器,和C语言的调用规约相似原创 2021-06-03 22:05:57 · 124 阅读 · 0 评论 -
3、go内置数据结构
3、go内置数据结构1、go内置数据结构一览2、channel2.1、channel底层数据结构2.1.1、channel发送数据3、Timer4、Map1、go内置数据结构一览2、channelchannel分为以下有buffer和unbuffered两种情况,无buffer可以理解为buffer为02.1、channel底层数据结构channel在创建好后,那么就会生成一个叫hchan的数据结构channel中的buffer是一个环形队列,先进先出2.1.1、channel发送数据原创 2021-05-30 23:15:11 · 143 阅读 · 1 评论 -
1、go语言是怎么跑起来的
go语言是怎么跑起来的1、go语言是怎么跑起来的1.1、go语言编译和链接1.2、理解可执行文件找entry point1.3、go细分1.4、runtime2、go语言调度器2.1、go启动流程2.2、go调度流程2.3、goroutine的生产端2.3、goroutine的消费端1、go语言是怎么跑起来的1.1、go语言编译和链接使用go build -x hello.go命令可以看到go源码文件编译和链接的过程1.2、理解可执行文件可执行文件在不同操作系统上有不同的规范linux的可执行原创 2021-05-30 20:17:07 · 604 阅读 · 0 评论 -
2、go语言编译基础
go语言编译基础1、go编译过程1.1、编译器简介1.2、编译器编译流程1、go编译过程1.1、编译器简介编译器:将一种语言(通常为高级语言)翻译为另一种语言(通常为低级语言)的程序高级语言:便于人编写,阅读,交流,维护机器语言:计算机能直接解读,运行的反编译器:从低级语言到高级语言的编译器。这类编译器用来把从高级语言生成的低级语言代码重新生成高级语言的代码。1.2、编译器编译流程一般可以把编译器的编译流程分为两个部分:编译器前端、编译器后端...原创 2021-05-29 21:36:34 · 422 阅读 · 0 评论