我在这里粘贴我的代码:http://pastebin.com/tPvRHrkW 与gcc
编译。 看来发生错误是因为我为编译器定义了一个太大的结构。我把这个结构放到另一个源文件中进行测试,这次没有发生错误。那么为什么我会得到SIGSEGV,并且对结构的大小有任何限制?c - 为什么我会得到这个SIGSEGV?我怎么知道一个结构可以得到多少内存?
0
A
回答
3
结构的大小没有限制,问题在于你如何使用它。 MGraph
是巨大的结构类型,并且在两个地方以将它放置在堆栈上的方式使用它;一次作为函数的参数,再次作为局部变量。堆栈空间通常不是允许增长到很大比例的东西。
我会建议两个更改。首先,为这种类型的实例使用动态分配。其次,将指针作为参数传递给它,而不是实际的数据。
1
通常,您只受可用内存和系统寻址能力的限制。但是在你的情况下,你声明了一个局部变量,它将被分配到堆栈上。这个堆栈的容量可能会受限得多。
+0
我尝试了一个更大的数组,它仍然有效。这里似乎没有限制。 – CDT
1
相关问题
- 1. 我不知道为什么我会得到这个'Addressof'错误?
- 2. 为什么我得到这个结果?
- 3. 为什么我会得到这个StackOverFlowException
- 4. 为什么我会得到这个ValueError?
- 5. 为什么我会得到这个IndexOutofBoundsexception?
- 6. 为什么我会得到一个无条件跳转的SIGSEGV?
- 7. 为什么我得到FileNotFoundException?我可以看到这个位置的文件,所以我知道它存在
- 8. 为什么我会得到一个GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT?
- 9. 我得到一个断点,我不知道为什么
- 10. 为什么我会得到一个java.nio.BufferOverflowException
- 11. 有谁知道为什么我得到这个IllegalMonitorStateException?
- 12. 不知道为什么我得到这个语法错误
- 13. 为什么我没有得到一个内存异常这里
- 14. 不知道为什么我得到java.lang.NullPointerException
- 15. 为什么我得到这个数字?
- 16. 为什么我得到这个错误?
- 17. 为什么我会得到这个结果?
- 18. 为什么我得到这个错误?
- 19. 为什么我得到这个错误
- 20. 为什么我得到这个错误?
- 21. 为什么我得到这个追溯?
- 22. 为什么我得到这个NullReferenceException?
- 23. 为什么我得到这个错误?
- 24. 不知道为什么我得到一个NullPointerException
- 25. 为什么我会得到这个在一个404节点
- 26. 为什么我得到这个内存异常异常?
- 27. 不知道为什么我得到一个堆栈溢出
- 28. 不知道为什么我得到一个NullPointerException错误
- 29. 不知道为什么我得到一个链接错误
- 30. 不知道为什么我得到一个java.lang.NullPointerExceptio
哪里它赛格故障?你是否通过调试器运行它? – Joe