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



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

  

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

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

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

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




  

相关话题

  在C++中,“?:”这个符号叫什么名字? 
  怎样理解C语言是才是代码的精髓,可以让你领略不一样的世界这句话?(其实就是怎么翻译成人话-_-# 
  为什么c/cpp语言的函数好像没有按照驼峰命名法呢? 
  C语言指针难吗?如何看待数学大v认为指针比范畴论还难? 
  程序员们平时都喜欢逛什么论坛呢? 
  Qt Creator为什么不能对c++11的auto类型做代码提示? 
  能否把高版本的libstdc++静态连接到一个只暴露纯C接口的动态库中,给低版本c++程序调用? 
  c语言0xFFFF换成十进制不应该是65535吗? 
  埃式筛为什么只要筛到根号n就好了? 
  在手机上C语言编译器运行while(system(“pause”))为什么会导致手机重启? 

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





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