检查__thread关键字是否可用

  发布于 2022-12-23 10:46

我找不到任何能告诉我__thread关键字/功能是否存在的功能/宏.

例如,我想在没有用户定义的情况下做这样的事情 HAS_TLS

#if HAS_TLS
    static __thread int mytlsdata;
#else
    static pthread_key_t mytlskey;
#endif

zwol.. 5

唯一预定的,标准的东西,即使是接近,是,

#if __STDC_VERSION__ >= 201112L && !defined __STDC_NO_THREADS__
    static _Thread_local int mytlsdata;
#endif

但这并没有检测到相同的前C11功能,例如你的__thread.并且假设__STDC_VERSION__准确反映编译器的真实能力在历史上一直是......不明智的.

我通常会在这一点上推荐Autoconf,但它似乎没有现成的测试来检测这些,如果你以前从未对Autoconf做过任何事情,那么这可能不是开始的地方.对不起,我无法提供更多帮助.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有