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



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

  

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

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

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

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




  

相关话题

  学C了如何写出一个界面来而不是永远出现编译后的小黑框? 
  为什么招聘单片机工程师的时候要求精通C/C++? 
  网上有对于C++编程要避免使用cin、cout、fstream;而是使用scanf、printf、FILE *的说法, 请问是正确的吗? 
  如何用 C 语言画「心形」? 
  共用体只能同时储存一个值吗? 
  网游通信协议如何防止封包篡改? 
  如何评价"Null reference - my billion-dollar mistake"? 
  如何评价《王垠:C 编译器优化过程中的 Bug》? 
  如何对一个元素只有0和1的数组进行排序? 
  C语言初学者该怎样去更好的学习C语言? 

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





© 2024-11-24 - tinynew.org. All Rights Reserved.
© 2024-11-24 - tinynew.org. 保留所有权利