<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Gcc on 111qqz's blog</title><link>https://111qqz.com/en/tags/gcc/</link><description>Recent content in Gcc on 111qqz's blog</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>© 2015-2026 111qqz</copyright><lastBuildDate>Thu, 31 Jan 2019 12:12:22 +0000</lastBuildDate><atom:link href="https://111qqz.com/en/tags/gcc/index.xml" rel="self" type="application/rss+xml"/><item><title>x86 calling conventions</title><link>https://111qqz.com/en/post/%E5%85%AC%E5%BC%80%E8%AF%BE/6.828/2019-01-31-x86-calling-conventions/</link><pubDate>Thu, 31 Jan 2019 12:12:22 +0000</pubDate><guid>https://111qqz.com/en/post/%E5%85%AC%E5%BC%80%E8%AF%BE/6.828/2019-01-31-x86-calling-conventions/</guid><description>&lt;p&gt;x86的调用约定主要说的是这几件事:&lt;/p&gt;
&lt;blockquote&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;ul&gt;
&lt;li&gt;The order in which atomic (scalar) parameters, or individual parts of a complex parameter, are allocated&lt;/li&gt;
&lt;li&gt;How parameters are passed (pushed on the stack, placed in registers, or a mix of both)&lt;/li&gt;
&lt;li&gt;Which registers the called function must preserve for the caller (also known as: callee-saved registers or non-volatile registers)&lt;/li&gt;
&lt;li&gt;How the task of preparing the stack for, and restoring after, a function call is divided between the caller and the callee&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;&lt;p&gt;调用约定实际上并不唯一&lt;/p&gt;</description></item></channel></rss>