- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设如下代码:
pthread_key_t key;
pthread_key_create(&key, NULL); /* failure here */
pthread_key_delete(key);
如果 pthread_key_create
失败,对 pthread_key_delete
的调用是否被视为未定义行为?如果 pthread_key_create
被注释掉会怎么样?
pthread_key_delete POSIX 标准的一部分指出:
The pthread_key_delete() function shall delete a thread-specific data key previously returned by pthread_key_create().
由于 pthread_key_delete
需要 先前由 pthread_key_create
返回的线程特定数据键,我害怕调用 pthread_key_delete
在 pthread_key_create
未返回的键上可能会导致未定义的行为。
最佳答案
是的,就您链接的标准未定义该用例中发生的情况而言,它是隐含的未定义行为。
然而,SUSv7 在其对 pthread_key_delete
的讨论中是明确的,在其 CHANGE HISTORY for Issue 7 中明确表示那:
The [EINVAL] error for a key value not obtained from pthread_key_create() or a key deleted with pthread_key_delete() is removed; this condition results in undefined behavior.
关于pthreads - 如果在 pthread_key_create 失败后对键调用 pthread_key_delete 会发生什么情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18064682/
假设有以下代码: pthread_key_t key; pthread_key_create(&key, NULL); /* failure here */ pthread_key_delete
假设如下代码: pthread_key_t key; pthread_key_create(&key, NULL); /* failure here */ pthread_key_delete(
我正在尝试在 Ubuntu 中制作文件,当我制作文件时,我不断收到此错误: /usr/bin/ld: ../../gtest-1.7.0/libgtest.a(gtest-all.cc.o): und
我是一名优秀的程序员,十分优秀!