【发布时间】:2013-06-06 18:54:21
【问题描述】:
我猜想使用memcpy 复制pthread_attr_t 不是一个好主意,因为该结构在Darwin 和Linux 上似乎都是私有的。复制pthread_attr_t 的正确方法是什么? pthreads 中没有复制功能。对所有属性进行 get/set 可能是最安全的方法,但它不是未来的证明。
这是我的 Ubuntu 机器上的样子,仅供参考:
#define __SIZEOF_PTHREAD_ATTR_T 36
typedef union
{
char __size[__SIZEOF_PTHREAD_ATTR_T];
long int __align;
} pthread_attr_t;
【问题讨论】:
-
另一个来自
man pthread_attr_ton Ubuntu 的参考: >pthread_attr_t类型应被视为不透明:除通过 pthreads 函数之外的任何对 > 对象的访问都是不可移植的并且会产生未定义的结果。但是我也不明白您发布的pthread_attr_t的定义。我在这里问一个问题。希望以后有人能解释一下。 stackoverflow.com/questions/55676440/…