Win32とUNIXで条件分け

| | コメント(0) | トラックバック(0)

 只今、メルマガ向けのSocketプログラミングをしているところですが(UNIX版は終了)、同じソースで条件分けする際にヘッダーファイルで定義しないとダメのかなと思っていたら、コンパイラ自身である程度定義が入っているとネット上の情報で発見。実際はコンパイル時に必ず読み込まれるヘッダー辺りにも書いていると思いますが、その内容の今回使用する部分を抜粋。

GCC(UNIX系)の場合
#define __GNUC__

Windowsの場合
#define _WIN32

つまり、ヘッダーファイルの名前が違うとか、ライブラリ関数の差異を埋めるためには、

#ifdef __GNUC__
// ここにUNIX版の処理を記述
#endif
#ifdef
// ここにWindows版の処理を記述
#endif

このようにすればOK

参考:Hey! Java Programming! --移植性--http://www.mars.dti.ne.jp/~torao/program/general/portability.html

トラックバック(0)

このブログ記事を参照しているブログ一覧: Win32とUNIXで条件分け

このブログ記事に対するトラックバックURL: http://blog.c-production.com/mt/mt-tb.cgi/127

コメントする

このブログ記事について

このページは、管理人が2005年12月23日 17:35に書いたブログ記事です。

ひとつ前のブログ記事は「何故か外部から5000番ポートが空いてない件」です。

次のブログ記事は「diffとpatch」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.1