我最近在开发应用程序时遇到了一个非常奇怪的段错误。基本上,如果我将另一个变量添加到我的一个结构中,则会在执行时导致段错误,原因并非明显。删除此变量会立即解决问题。结构如下:
typedef struct Note {
char cNote;
unsigned int uiDuration;
unsigned int uiVelocity;
};
我一添加
long lStartTime;
变量在结构中的任何地方,代码像往常一样编译但会引发分段错误。在我甚至不使用的一些模糊的WIN方法中,GDB的回溯丢失了。
有什么想法吗?
谢谢!
答案 0 :(得分:2)
我看到了几种可能的解释:
struct
具有一定的大小。改变大小会破坏事物。struct
,但无法重建使用struct
的所有源文件。