プリプロセッサを使用して、unsigned long long
が定義されているかどうかを確認できます。
#include <limits.h>
#ifndef ULLONG_MAX
typedef unsigned long t_mask;
#else
typedef unsigned long long t_mask;
#endif
しかし、__uint128_t
定義されているかどうかはどうやってわかるのでしょうか?
ベストアンサー1
次の方法を試すことができます。これがどれだけ信頼できるかはわかりませんが、最も簡単な方法かもしれません。
#ifdef __SIZEOF_INT128__
// do some fancy stuff here
#else
// do some fallback stuff here
#endif