由 .maxstack 1 分配的 1 个堆栈的大小
当我说 .maxstack 1
时,它是如何工作的?我可以将任何数据类型压入堆栈吗?它如何决定堆栈的大小。是提前完成还是在运行时完成?
编辑1:即使我只将一个参数压入堆栈,它如何决定它的内存分配?它的数据类型是否标识为编译时还是运行时?
When I say .maxstack 1
, how does it work? Can I push any datatype onto the stack? How does it decide the size for the stack. Is it done prematurely, or at runtime?
Edit1: Even when I push only one argument on the stack,how does it decide the memory allocation for it?Is its data type identified at compile time or run time?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的,任何类型。它是在堆栈上保留空间的项数。据我所知,这更多的是为了验证而不是空间 - 因为正如您所注意到的,不同的类型需要不同的空间量(例如超大的结构)。
不过,在大多数情况下 1 可能有点低。
Yes, any type. It it the number of items to reserve space for on the stack. This is more for verification than for space, as far as I can tell - because as you note different types require different amounts of space (oversized structs, for example).
1 may be a bit low in most cases, though.