相关疑难解决方法(0)

使用*(int*)NULL = 1崩溃线程; 有问题?

我在多线程c应用程序中发现了这一点.作者评论说它用于在自定义断言函数中使线程崩溃.海湾合作委员会对它很好,但是clang发出以下警告:

note: consider using __builtin_trap() or qualifying pointer with 'volatile'
Run Code Online (Sandbox Code Playgroud)

并且对于assert函数的每次使用,还会发出其中一个:

warning: indirection of non-volatile null pointer will be deleted, not trap
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?__builtin_trap特定于clang?我应该用吗?

c assert volatile clang gcc-warning

5
推荐指数
1
解决办法
1879
查看次数

标签 统计

assert ×1

c ×1

clang ×1

gcc-warning ×1

volatile ×1