几天前,我发现由于EXC_BAD_ACCESS,oracle即时客户端与LLVM C ++库不兼容。因此,我将库更改为GNU C ++库,并且每件事都有效。
今天,我意识到oracle客户端的错误可能是由返回一个局部变量引起的。使用LLVM C ++库编译程序时,会出现EXC_BAD_ACCESS。但是,我将库更改为GNU C ++库,向量可以推送10但它无法返回10.我不知道为什么只有LLVM库才会出现EXC_BAD_ACCESS。
LLVM(本地)
GNU(本地)
答案 0 :(得分:1)
您正在调用未定义的行为。
在任何给定的程序执行中发生的事情都没有定义,并且可能因编译器而异。这显然是这里发生的事情。你不幸的是,破坏的代码在没有GNU库的错误的情况下运行。