<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>《通过实例理解Go逃逸分析》的评论</title>
	<atom:link href="http://tonybai.com/2021/05/24/understand-go-escape-analysis-by-example/feed/" rel="self" type="application/rss+xml" />
	<link>https://tonybai.com/2021/05/24/understand-go-escape-analysis-by-example/</link>
	<description>一个程序员的心路历程</description>
	<lastBuildDate>Wed, 25 Mar 2026 09:21:20 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>作者：shawing</title>
		<link>https://tonybai.com/2021/05/24/understand-go-escape-analysis-by-example/#comment-7816</link>
		<dc:creator>shawing</dc:creator>
		<pubDate>Tue, 08 Apr 2025 04:22:01 +0000</pubDate>
		<guid isPermaLink="false">https://tonybai.com/?p=3191#comment-7816</guid>
		<description>大佬在前文中有一段通过C语言证明栈空间不可被访问那里是否有错误呢？我通过同样的方式使用gcc进行编译，然后通过ida静态分析查看了一下汇编代码，发现，并不是因为栈不可被访问，而是因为编译器认为这是一个非法访问，而将返回值 mov rax, 0,使系统产生一个短错误。然后我使用 gdb 去动态调试了程序，并将 mov rax, 0 更改为 mov rax, $var_c_ptr,最后的结果是栈空间的数据在函数结束后是可以被再次访问的，然后我咨询了AI,AI给我的回答为除非操作系统强制介入，将物理页释放，否则存储在栈上的内容依然是可访问的，只是不可见。</description>
		<content:encoded><![CDATA[<p>大佬在前文中有一段通过C语言证明栈空间不可被访问那里是否有错误呢？我通过同样的方式使用gcc进行编译，然后通过ida静态分析查看了一下汇编代码，发现，并不是因为栈不可被访问，而是因为编译器认为这是一个非法访问，而将返回值 mov rax, 0,使系统产生一个短错误。然后我使用 gdb 去动态调试了程序，并将 mov rax, 0 更改为 mov rax, $var_c_ptr,最后的结果是栈空间的数据在函数结束后是可以被再次访问的，然后我咨询了AI,AI给我的回答为除非操作系统强制介入，将物理页释放，否则存储在栈上的内容依然是可访问的，只是不可见。</p>
]]></content:encoded>
	</item>
	<item>
		<title>作者：bigwhite</title>
		<link>https://tonybai.com/2021/05/24/understand-go-escape-analysis-by-example/#comment-7579</link>
		<dc:creator>bigwhite</dc:creator>
		<pubDate>Wed, 17 Nov 2021 09:57:02 +0000</pubDate>
		<guid isPermaLink="false">https://tonybai.com/?p=3191#comment-7579</guid>
		<description>文中提到：“go堆内存所使用的内存页(page)与goroutine的栈所使用的内存页是交织在一起的https://github.com/golang/go/issues/30554#issuecomment-469141498” -- go中仅通过一个地址值很难区分究竟是在堆上还是栈上。</description>
		<content:encoded><![CDATA[<p>文中提到：“go堆内存所使用的内存页(page)与goroutine的栈所使用的内存页是交织在一起的https://github.com/golang/go/issues/30554#issuecomment-469141498” &#8212; go中仅通过一个地址值很难区分究竟是在堆上还是栈上。</p>
]]></content:encoded>
	</item>
	<item>
		<title>作者：ahuigo</title>
		<link>https://tonybai.com/2021/05/24/understand-go-escape-analysis-by-example/#comment-7577</link>
		<dc:creator>ahuigo</dc:creator>
		<pubDate>Tue, 16 Nov 2021 05:34:57 +0000</pubDate>
		<guid isPermaLink="false">https://tonybai.com/?p=3191#comment-7577</guid>
		<description>感谢。关于怎么区别哪些地址是stack or heap，好像没有提及</description>
		<content:encoded><![CDATA[<p>感谢。关于怎么区别哪些地址是stack or heap，好像没有提及</p>
]]></content:encoded>
	</item>
</channel>
</rss>
