• GNU 和 IBM 语言扩展 __attribute__((...)) 、Microsoft扩展 __declspec()
  • 标准库格式:[[attribute-list]]
    GUN
__thread TaskGroup *tls_task_group = __null;

static __attribute__((noinline, unused)) TaskGroup *get_tls_task_group(void) {

asm volatile("");

return tls_task_group;

}

static __attribute__((noinline, unused)) TaskGroup **get_ptr_tls_task_group(void) {

TaskGroup **ptr = &tls_task_group;

asm volatile("" : "+rm"(ptr));

return ptr;

}

static __attribute__((noinline, unused)) void set_tls_task_group(TaskGroup *v) {

asm volatile("");

tls_task_group = v;

}

参考: