繁体   English   中英

在struct内部声明变量时出现分段错误

[英]Segmentation fault when declaring variable inside struct

最近,在开发应用程序时遇到了一个非常奇怪的段错误。 基本上,如果将另一个变量添加到我的一个结构中,执行段时将导致段错误,没有明显的原因。 立即删除此变量可解决问题。 结构如下:

typedef struct Note {
    char cNote;
    unsigned int uiDuration;
    unsigned int uiVelocity;
};

我一添加

long lStartTime;

变量在结构中的任何位置,代码都会像往常一样编译,但是会引发分段错误。 GDB的回溯在某些我什至不使用的模糊WIN方法中丢失了。

有任何想法吗?

谢谢!

我看到几种可能的解释:

  1. 某处假定该struct具有一定大小。 改变大小会破坏事物。
  2. 您可能会遇到某种内存错误,这是通过更改内存中事物的布局而浮出水面的。 尝试使用valgrind或Purify之类的工具。
  3. 您正在更改头文件中的struct ,但无法重建使用该struct所有源文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM