use*_*783 3 bootstrapping runtime go
我从 Go 1.4 中读到,Go 运行时是用 Go 本身(而不是 C)编写的。
这怎么可能?如果 Go 程序运行在运行时之上,而运行时是一个 Go 程序,那么运行时是否运行在其自身之上?
小智 5
简而言之:仔细。
长: unsafe 包允许您进行指针运算和任意强制转换,您需要实现 go 的 gc。您避免在 gc go 代码中使用 gc,就像在普通 go 代码中一样:通过使用堆栈或静态分配的数据。下面的链接提到主线 go 编译器通过未记录的选项在运行时强制执行此操作。一些汇编位允许您进行系统调用,这使您可以执行从生成过程到打开文件的所有操作。
更长更权威:请参阅Ian Lance Taylor(围棋团队的)关于 golang-nuts 的帖子。
| 归档时间: |
|
| 查看次数: |
1005 次 |
| 最近记录: |