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



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

  

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

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

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

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




  

相关话题

  教授说没有写过一千行以上代码的程序就别想上大公司,这种说法对吗? 
  相比其他语言,C、C++究竟快在哪里? 
  MFC真的过时了吗? 
  C语言仅凭自学能到什么高度? 
  为什么C/C++中“(*p).number”和“p->number”作用一样但却有两种写法? 
  c语言如何用for语句求1+11+111+1111? 
  LeetCode上 C++ 官方题解为什么有很多没有写delete,不会内存泄漏么?面试时也可以么? 
  为什么我用c++写的游戏那么简陋? 
  C++ 几十年来为什么没给 break 语句加上参数? 
  《C专家编程》第六十页参数在传递时为什么会首先放到寄存器中? 

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





© 2024-12-26 - tinynew.org. All Rights Reserved.
© 2024-12-26 - tinynew.org. 保留所有权利