現在のビルド環境でタイプunsigned long long
が使用可能な場合は、プリプロセッサディレクティブでどのようにチェックできますか?符号なしlong longが使用可能かどうかをチェック
私は
#if __STDC_VERSION__ >= 199901L
/* Available */
#else
/* Not available */
#endif
をチェックするが、gccで少なくともこれは「avaibalbleない」ために(しかし働くだろう)つながる-std=
-compiler引数なしでコンパイルしてみました。
少なくとも、C99標準コンパイラとGCCのどちらでも動作するように、より良いマクロがありますか?-std=C99
?
最も洗練された解決策ではありませんが、私の最初の本能は、 'limits.h'ヘッダーに' ULLONG_MAX'シンボルの存在を確認することです。 –
完了。私はあなたがもっと良い答えを得られなかったことに驚いています。クイック・アンド・ダーティーな解決策が時々最高ですね! –