c/c++开发分享如何知道是否定义了__uint128_t

我们可以使用预处理器来知道是否定义了unsigned long long

 #include  #ifndef ULLONG_MAX typedef unsigned long t_mask; #else typedef unsigned long long t_mask; #endif 

但是如何知道是否定义了__uint128_t?

    由于__uint128_t类型是GCC扩展 ,正确的做法可能是检查一些已知良好版本的GCC。

    有关用于版本检查GCC编译器的宏的信息, 请参阅此页面 。

    您可以尝试以下方法。 我不知道这有多可靠,但它可能是最简单的方法。

     #ifdef __SIZEOF_INT128__ // do some fancy stuff here #else // do some fallback stuff here #endif 

    我还没有处理__uint128_t,但根据现有的模式用法,我希望如下。

     #include  #ifndef UINT128MAX #error "__uint128_t not defined" #endif 

    希望这可以帮助

    在/ usr / libexec / gcc树中找到你的cc1,然后查询它:

      $ strings /usr/libexec/gcc/x86_64-redhat-linux/4.6.3/cc1 |  grep uint128_t  __uint128_t(或不) 

      以上就是c/c++开发分享如何知道是否定义了__uint128_t相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注(猴子技术宅)。

      本文来自网络收集,不代表猴子技术宅立场,如涉及侵权请点击右边联系管理员删除。

      如若转载,请注明出处:https://www.ssfiction.com/c-cyuyankaifa/545874.html

      发表评论

      电子邮件地址不会被公开。 必填项已用*标注