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



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

  

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

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

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

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




  

相关话题

  golang 为什么没有三元运算符? 
  假如用汇编语言重制某游戏或者软件能否降低 CPU 性能损耗? 
  如何把一个文件快速分发到 100w 个服务器? 
  如果加班是自愿的,你们会为了钱加班吗? 
  在C++中,“?:”这个符号叫什么名字? 
  如何通过自学找到一份开发的工作? 
  为什么大多数程序主函数成功时都return 0; 不return 1; ? 
  还有哪些像 Unix,C/C++ 一样经久耐用的软件技术? 
  为什么学c语言我只会写计算程序? 
  既然有 memcpy_s 这种安全实现,为啥不禁用危险的 memcpy 或者更新 memcpy 源码? 

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





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