本来是计划写关于erlang的mnesia的,在版本5.6.5会出现的一个问题,但我更新到了最新的5.7.4之后,问题消失了,即使使用5.6.5来编译也不会出现问题,只好不了了之。
不过,昨天,同事遇到了一个问题,在类似下面的代码中:
static const long long flag = (1LL< <32)|(1LL<<34);
void fun()
{
long long temp = flag;
}
编译时,会出现诡异的Fatal error: Internal fault: 0xe6e5,但在我这边却没有出现,编译选项等等都是一样的。
只能使用下面的代码才能解决问题:
void fun()
{
long long temp = (long long)flag;
}
使用强制转换。