UNIXベースのOSが備えるべき機能です。
つまり、POSIXで定義された機能はUNIXベースのOSであればどれでも使用できることになります。
LinuxでもほとんどPOSIXの要件は満たしているようです。(すべてかどうかは分かりませんが。。)
POSIX認定された機能を使用するとUNIX系のさまざまなOSに移行しやすいので便利です。
POSIXの機能として具体的には、mkdir()やsleep()などの関数が存在します。
似たような関数はWindows用の関数でも存在しますが、微妙に名前が違ったり、引数の数が意味が違ったりします。
これは注意点かと思います。
【WindowsとPOSIXを区別なく使用するには?】
たぶん、WindowsとPOSIXを隠蔽化してシームレスにディレクトリ作成の関数などを使用したくなると
思います。
このためには、一番いいのはBoostを使用することだと思います。
ディレクトリなどの操作であれば、以下のものがあります。
・path.hpp
・operations.hpp
・error_code.hpp
これらは、ディレクトリやファイルをイテレータで扱ったり、存在をチェックしたりでき、かなり便利な形で
隠蔽化してくれています!
ただし、コンパイルが必要です。
<自分で何とかしたい場合>
もし自分で必要な関数だけ隠蔽化したければ、"boost/config.hpp"をincludeしましょう。
Boostのライブラリで、コンパイルは必要ありません。
これは、環境がWindowsかどうかを教えてくれる定義を提供してくれます。
具体的には、以下のような感じで使用します。
#if (defined BOOST_WINDOWS) && !(defined BOOST_DISABLE_WIN32)
#include <windows.h>
#include <direct.h>
#else
#include <unistd.h>
#include <sys/stat.h>
#endif
これでコンパイル時にWindowsなら上2つをincludeして、違えば下2つをincludeします。
資料が少なくて正確なところはわかりませんが、上記の感じで使用できると思います。
参考:
・CGIセッションのサンプル
←セッションファイルの削除の部分で使用しています
・IT用語辞典