百科问答小站 logo
百科问答小站 font logo



C/C++在函数调用时,为什么需要先将参数压栈? 第1页

  

user avatar   haozhi-yang-41 网友的相关建议: 
      

你这是受了“经典教科书”的荼毒。

实际上在全面进入64位年代,寄存器传参才是主流。

至于说早年为什么要压栈?也很简单:当年的cpu就没那么多寄存器可用:最早的x86,通用寄存器也就abcd四个。而且16位机的年代一个寄存器稍大点的数就放不下——不放内存是真的没办法传啊。




  

相关话题

  libevent+rabbitmq 架构做高并发服务器可否? 
  Visual Studio"从现有代码创建项目",这个功能可以用脚本实现吗? 
  大学c语言学习的考题中,故意用相同变量名来命名形参实参,局部变量和全局变量让学生区分,有实际意义吗? 
  有个人说C++程序入口是mainCRTStartup,另一个人说是main,然后打起来了,如何评理? 
  以C++为核心语言的高频交易系统是如何做到低延迟的? 
  C 语言执行 a=a++; 后,a 的值应该加一还是不变? 
  为什么C++中,含有函数声明的头文件应该被包含在定义函数的源文件中? 
  C++中如何将string类型转换为int类型? 
  指向指向指向指针的指针的指针的指针有什么用? 
  为什么下载的安装包都需要安装才能用,而不是可以直接用呢,安装的过程到底是在做什么? 

前一个讨论
历史上有没有在后来得到了印证的科幻故事?
下一个讨论
为什么我见过的操作系统都是树状存储结构,有没有用关键字来组织文档存储的网状结构的操作系统?





© 2025-06-04 - tinynew.org. All Rights Reserved.
© 2025-06-04 - tinynew.org. 保留所有权利