Visual Studioを使用してWindows上でC/C++プログラムをコンパイルする場合(互換性を持たせようとしているコンパイラ)、あらかじめ定義されたマクロ_WIN32(ソース:http://msdn.microsoft.com/en-us/library/b0084kay.aspx)プラットフォーム固有のifdef-sについては、Linux/POSIXのプラットフォーム固有のマクロに関するドキュメント
私が探しているのは、Linuxでのanalogonです:私はLinux/POSIXと互換性があると主張するOSのためにコンパイルしていることを知らせるマクロです。
だから私はgccのドキュメントに見て、この発見:私のプログラムにhttp://gcc.gnu.org/onlinedocs/cpp/System_002dspecific-Predefined-Macros.html
応用し、次のマクロ(GCC 4.4.5 - Ubuntuの10.10は)(私は、重要なマクロをドロップしなかったことを願ってい有望に見えました):
#define __USE_BSD 1
#define __unix__ 1
#define __linux 1
#define __unix 1
#define __linux__ 1
#define _POSIX_SOURCE 1
#define __STDC_HOSTED__ 1
#define __STDC_IEC_559__ 1
#define __gnu_linux__ 1
#define __USE_SVID 1
#define __USE_XOPEN2K 1
#define __USE_POSIX199506 1
#define _G_USING_THUNKS 1
#define __USE_XOPEN2K8 1
#define _BSD_SOURCE 1
#define unix 1
#define linux 1
#define __USE_POSIX 1
#define __USE_POSIX199309 1
#define __SSP__ 1
#define _SVID_SOURCE 1
#define _G_HAVE_SYS_CDEFS 1
#define __USE_POSIX_IMPLICITLY 1
上記のWindows固有のマクロについては、どこに詳しいドキュメントがありますか。
また、私は一度、クロスプラットフォームのパッケージシステム、pkgsrcので使用するために特定のマクロを集め
あなたがリストしたマクロの中には機能テストマクロがあります(http://www.kernel.org/doc/man-pages/online/pages/man7/feature_test_macros.7.htmlを参照)。これは動作しませんあなたが望む方法。 – ninjalj