---
title: "Discussion on \"C语言函数调用时的参数传递机制\" | Hashnode"
description: "Discussion on \"C语言函数调用时的参数传递机制\". 本文通过实例验证了 C 语言函数调用时参数传递机制在 32 位和 64 位时的不同；阅读本文不仅需要 C 语言的知识，还需要有一些汇编语言的知识。\nX86的指令集从 16 位的 8086 指令集开始，经历了 40 多年的发展，现在广泛使用的已经是 64 位的 X86-64 指令集，寄存器也从以前的 16 位变成了现在的 64 位，寄存器的数量也大大增加，gcc 当然也必须随着指令集的变化不断升级，在 64 位的时代，C 语言在函数调用时的参数传递也发生了很大的改变，本文通过把 C 语言程序编译成..."
url: "https://hashnode.com/posts/130001-parameters-passing-mechanism/63513da449fd09f03dd997fd"
---

[Feed](https://hashnode.com/feed) /

Discussion

# [C语言函数调用时的参数传递机制](https://whowin.cn/130001-parameters-passing-mechanism?utm_source=hashnode&utm_medium=feed)

本文通过实例验证了 C 语言函数调用时参数传递机制在 32 位和 64 位时的不同；阅读本文不仅需要 C 语言的知识，还需要有一些汇编语言的知识。 X86的指令集从 16 位的 8086 指令集开始，经历了 40 多年的发展，现在广泛使用的已经是 64 位的 X86-64 指令集，寄存器也从以前的 16 位变成了现在的 64 位，寄存器的数量也大大增加，gcc 当然也必须随着指令集的变化不断升级，在 64 位的时代，C 语言在函数调用时的参数传递也发生了很大的改变，本文通过把 C 语言程序编译成...

Sep 19, 2022 · 8 min read · whowin.cn  
Updated Oct 19, 2024  
Read the article

-   [#c](https://hashnode.com/tag/c)
-   [#parameters](https://hashnode.com/tag/parameters)
-   [#linux](https://hashnode.com/tag/linux)
-   [#function](https://hashnode.com/tag/function)

## Written by

[whowin](https://hashnode.com/@whowin)

@whowin · Beijing, China

  
[View profile](https://hashnode.com/@whowin)

一枚有30多年经验的退休程序员，主要从事嵌入式软件开发

## Responses

Markdown supported · ⌘↵ to post

No responses yet.
