我有一个简短的程序example.cc,如下所示:
#include <stdio.h>
int main()
{
try {
throw 999;
} catch (int i) {
printf("Catch i:%d", i);
}
}
如果我独立编译这个程序,它可以正常工作, 但是,当我与其他目标文件链接时,它失败了,报告分段错误,我不知道为什么..
答案 0 :(得分:1)
为什么不查看调试器并查看segfault发生的位置?
你的最小样本没问题。我什么都看不到会导致任何问题。很明显你的其他目标文件有问题。
它是C ++,因此很可能在启动期间构建另一个目标文件中的静态对象,或者在程序终止期间被破坏并导致问题。