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



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

  

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

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

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

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




  

相关话题

  C 语言这些宏定义前面的 __extension__ 是什么意思? 
  有哪些看似简单其实非常精妙的代码? 
  0除以0怎么使用c++的异常处理,例如try? 
  如何用一段简单的代码讲述一个悲伤的故事? 
  C++ 类当中为什么要有private? 
  c#中,is或者as做类型转换是否影响效率,有必要缓存吗? 
  C++中除以2和右移1有什么区别? 
  有没有一本从电路开始讲然后汇编再到C语言的书? 
  为什么程序员要使用三元运算符而不是显式写出 if 语句? 
  对于一个大一计科新生,有什么代码行数在 500~1000 的程序(C 语言)可以试着写来练手? 

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





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