ios - EXC_BAD_ACCESS 尝试返回 uint64_t 数字时

标签 ios objective-c memcpy

当我尝试记录此函数的结果时,我一直收到 EXC_BAD_ACCESS 吗?我做错了什么?

-(uint64_t) rand64bitNum {
    uint32_t left = arc4random();
    uint32_t right = arc4random();
    uint64_t randNum = 0;
    memcpy(&randNum, &left, sizeof(left));
    uint16_t offset = sizeof(left);
    memcpy(&randNum+offset, &right, sizeof(right));
    return randNum;
}

最佳答案

&randnum+offset 并不像您认为的那样;指针加法以被指向的事物为单位执行。所以你可能需要 (char *)&randnum + offset

关于ios - EXC_BAD_ACCESS 尝试返回 uint64_t 数字时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16762621/

相关文章:

php - iPhone Objective C 图片上传到apache服务器

ios - 获取一个section中的所有indexPaths

iPhone:如何使用 "edit"功能从照片库或相机中获取图像,如 iPhone 照片应用程序

objective-c - NSLog调用函数的方法

C++ 错误消息 : invalid pointer

ios - 在 UIPageViewController 中使用 UISlider

android - 开发服务器以托管智能手机应用程序内容

objective-c - 从navigationController中弹出ViewController是否会被释放?

c - linux 上的 memcpy 段错误,但 os x 上没有

c - Memcpy 或结构赋值?