您好、欢迎来到现金彩票网!
当前位置:老k棋牌 > 栈区 >

c与c++在栈区为函数分配的空间有区别吗?

发布时间:2019-07-04 05:26 来源:未知 编辑:admin

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部这不是语言标准规定的,是编译器的具体实现决定的。比如VC的Debug/Release开关编译的程序开辟函数栈的行为是有不同的。Release版是看函数内有多少变量,需要多少空间就开辟多少空间,而Debug版开辟的空间要大一些,并全部以0xcccccccc填充,以避免缓冲区溢出,保护函数栈。

  其他的C编译器和C++编译器没用过,不知道他们的行为是怎样,不过应该区别不大,都是为一个嵌套的函数开辟一个内存地址更低处的栈帧。

  展开全部没有大的区别,都是先压入函数的参数,然后是现场,最后是函数内部的自动变量。

  微小的区别在于,执行c++的成员函数时,压入的参数中会多加一个类实例的this指针。

http://theenigmaco.com/zhanqu/245.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有