Luc*_*cas 1 c time segmentation-fault
我看到的一切都说明了我如何得到一个合理的参数种子随机数.
int seed = time(NULL);
Run Code Online (Sandbox Code Playgroud)
段错误.那样做
time_t seed = time(NULL);
int seed = (int)time(NULL);
Run Code Online (Sandbox Code Playgroud)
等等
有什么想法吗?
立即想到的唯一一件事就是有人重新定义NULL为非零.如果传递非空指针,它将尝试写入该内存,这可能会导致段错误.
快速检查是尝试time(0).
失败,那可能是由其他地方的腐败引起的,在这种情况下最好的办法是用调试器单步执行它.
还要确保包含正确的标题.在整数(编译器中遵循早期标准的参数的默认值)与指针的大小不同的系统中,可能会导致堆栈未对齐.我在一些64位系统上看到过这种效果.
| 归档时间: |
|
| 查看次数: |
507 次 |
| 最近记录: |