複数のプラットフォームやコンパイラで動作する C/C++ コードの作成を支援するために、どのようなリソースがありますか? たとえば、私は定期的に次のような質問をしています。
- さまざまなコンパイラや環境で自動的に定義されるプリプロセッサ マクロは? (例:
__GCC__
、WIN32
、__WIN32__
)__CYGWIN__
- コンパイラと標準ライブラリのどのバージョンが比較的新しい「標準」関数をサポートしていますか (例: C99 long double 三角関数 sinl()、cosl()、...)
- 単一の移植可能な機能が存在しないように見える場合、典型的なタスクを実行するためにさまざまなプラットフォームで使用できる機能は何ですか? (例: サブ秒の精度で現在の時刻を取得する)
Linux/gcc、cygwin、mingw32、および Visual Studio でコンパイルする必要があるコードを頻繁に作成し、必要な情報を取得するために、複数のソース (Linux のマニュアル ページ、MSDN、コンパイラ ドキュメント) からのメモを頻繁に比較する必要があります。これは、開発者が常に遭遇する問題に違いありません。この情報を簡単に理解できるリファレンスにコンパイルするリソースはありますか?
(この質問では、wxWidgets や boost のようなクロスプラットフォーム ライブラリには特に興味がありません。誰かが独自のクロスプラットフォーム ライブラリやプログラムを作成するのに役立つリソースやテクニックに興味があります。)
編集:これは、私が探しているページのタイプの例です: http://predef.sourceforge.net/precomp.html。さまざまなコンパイラ/環境と、それらを識別するために使用できるプリプロセッサ マクロの優れた調査。共通の関数が存在しない場合に、プラットフォーム間でほぼ同等の関数 (Linux の gmtime_r() または ftime() と Windows の _gmtime_s() または _ftime() など) を比較した同様のリソースを見つけることは素晴らしいことです。