什么情况可以让我陷入麻烦的堆栈下溢?
解决方法 我可以看到实际发生的唯一方法是,如果您声明使用stdcall(或任何其他调用约定来指定被调用程序清理堆栈)的函数,然后通过指定为cdecl的函数指针来调用该函数(或任何其他调用约定,其中堆栈被调用者清理).如果这样做,被调用的函数将在返回之前d出堆栈,然后调用者也会d出堆栈,导致下溢和可怕的事情.在成员函数的具体情况下,调用约定通常被称为thiscall,调用者或被调用方是否清除堆栈,这取决于编译器.
有关呼叫约定的详细信息,请参见here.
总结以上是内存溢出为你收集整理的学习C:C中堆栈下溢的示例全部内容,希望文章能够帮你解决学习C:C中堆栈下溢的示例所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)