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



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

  

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

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

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

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




  

相关话题

  如何用C语言生成(0,1)之间的随机浮点数? 
  c#中没有友元类那么这种设计是否不太合理,如何修改才能得到更好的方案? 
  C#填了java哪些坑?java填了C++哪些坑?C++填了C哪些坑? 
  大一新生做C语言课设被强制要求使用 Borland C++ 3.1,此IDE相对于其他IDE有何优点? 
  MFC中使用LoadLibrary动态加载dll有个数限制吗? 
  用C/C++开发工业软件适合吗? 
  如果一瞬间让所有编程语言的0.1 + 0.2 == 0.3,会造成多大影响? 
  为什么simdjson这么快? 
  Windows 上最小的「HelloWorld.exe」能有多小? 
  一个程序员多年累计编写一百万行代码是什么体验? 

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





© 2025-05-26 - tinynew.org. All Rights Reserved.
© 2025-05-26 - tinynew.org. 保留所有权利