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



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

  

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

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

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

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




  

相关话题

  C++的new操作符,底层使用的是malloc吗,在析构时,是如何确定自己需要释放内存的大小的? 
  最快的 atoi、atof 实现是什么样的? 
  C语言初学者,想问下面这个代码哪里不对,为什么运行不了呢? 
  Visual Studio 2019可以用来玩C语言吗? 
  C++ 有提供像是 C 中 realloc() 这样的函数的新版本吗? 
  为什么在汇编语言中需大量使用跳转指令,而在C语言中却尽量避免使用goto语句呢? 
  视频RAM与IO内存映射的问题,大家可以指导一下吗? 
  如何设计制度,才能使程序员职位被程序员世家垄断? 
  为什么知乎上有的人不推荐 C 语言入门? 
  为什么现在国内各大高校仍选用谭浩强的《C 程序设计》为教材? 

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





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