启动线程会导致指针初始化时出现分段错误

安东尼奥·桑托罗

为什么这段代码*y = 20只有在启动两个“空”线程时才会导致分段错误

int main(int argc, char **argv) {

    int x = 10;
    int *y;
    *y = 20;

    std::thread t1([]{});
    std::thread t2([]{});

    t1.join();
    t2.join();

    return 0;
}
海龟打架

取消引用未初始化(或空)的指针是未定义的行为。在这种情况下会发生什么取决于编译器。

您可能打算执行以下操作:

int main(int argc, char **argv) {

    int x = 10;
    int *y = &x;
    *y = 20;

    std::thread t1([]{});
    std::thread t2([]{});

    t1.join();
    t2.join();

    return 0;
}

在这种情况下,无论线程是否存在,它都会工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

结构继承会导致静态初始化时出现非聚合类型错误

来自分类Dev

Tensorflow 模型 lm_1b 模型初始化时出现分段错误

来自分类Dev

初始化时出现Rails / ruby错误

来自分类Dev

Outlook赎回在初始化时出现错误

来自分类Dev

C:初始化带有tin结构的指针时出现分段错误

来自分类Dev

指向指针的指针分配,然后迭代会导致分段错误

来自分类Dev

在初始化时关闭表单会引发错误

来自分类Dev

在初始化时关闭表单会引发错误

来自分类Dev

在简单的for循环初始化时出现段错误

来自分类Dev

在简单的for循环初始化时出现段错误

来自分类Dev

取消引用整数指针会导致分段错误

来自分类Dev

初始化“ UnsafeMutableRawPointer”会导致指针悬空

来自分类Dev

在C中初始化数组时出现分段错误

来自分类Dev

初始化std :: vector <double>时出现分段错误

来自分类Dev

初始化数组时出现分段错误

来自分类Dev

什么会导致 GOTO 指令出现分段错误?

来自分类Dev

指针增加导致分段错误

来自分类Dev

引入 shared_ptr 导致反序列化时出现分段错误(使用 boost::serialization)

来自分类Dev

为什么列表初始化会导致Seg错误?

来自分类Dev

使用OpenMP并行化时出现分段错误

来自分类Dev

使用OpenMP并行化时出现分段错误

来自分类Dev

为什么将文件指针分配给结构指针成员会导致分段错误?

来自分类Dev

数组初始化时出现奇怪的值

来自分类Dev

数组初始化时出现奇怪的值

来自分类Dev

为什么我会得到警告:(在指向“ ptr”的初始化附近)并且在运行时在指针处赋值时出现分段错误?

来自分类Dev

将数据复制/扫描/读取到未初始化的指针时发生崩溃或“分段错误”

来自分类Dev

Selenium Safari驱动程序2.48初始化时出现错误

来自分类Dev

从其他方法初始化和调用的动态位集导致分段错误

来自分类Dev

多线程初始化中的未知分段错误(核心转储)

Related 相关文章

  1. 1

    结构继承会导致静态初始化时出现非聚合类型错误

  2. 2

    Tensorflow 模型 lm_1b 模型初始化时出现分段错误

  3. 3

    初始化时出现Rails / ruby错误

  4. 4

    Outlook赎回在初始化时出现错误

  5. 5

    C:初始化带有tin结构的指针时出现分段错误

  6. 6

    指向指针的指针分配,然后迭代会导致分段错误

  7. 7

    在初始化时关闭表单会引发错误

  8. 8

    在初始化时关闭表单会引发错误

  9. 9

    在简单的for循环初始化时出现段错误

  10. 10

    在简单的for循环初始化时出现段错误

  11. 11

    取消引用整数指针会导致分段错误

  12. 12

    初始化“ UnsafeMutableRawPointer”会导致指针悬空

  13. 13

    在C中初始化数组时出现分段错误

  14. 14

    初始化std :: vector <double>时出现分段错误

  15. 15

    初始化数组时出现分段错误

  16. 16

    什么会导致 GOTO 指令出现分段错误?

  17. 17

    指针增加导致分段错误

  18. 18

    引入 shared_ptr 导致反序列化时出现分段错误(使用 boost::serialization)

  19. 19

    为什么列表初始化会导致Seg错误?

  20. 20

    使用OpenMP并行化时出现分段错误

  21. 21

    使用OpenMP并行化时出现分段错误

  22. 22

    为什么将文件指针分配给结构指针成员会导致分段错误?

  23. 23

    数组初始化时出现奇怪的值

  24. 24

    数组初始化时出现奇怪的值

  25. 25

    为什么我会得到警告:(在指向“ ptr”的初始化附近)并且在运行时在指针处赋值时出现分段错误?

  26. 26

    将数据复制/扫描/读取到未初始化的指针时发生崩溃或“分段错误”

  27. 27

    Selenium Safari驱动程序2.48初始化时出现错误

  28. 28

    从其他方法初始化和调用的动态位集导致分段错误

  29. 29

    多线程初始化中的未知分段错误(核心转储)

热门标签

归档