ホームページ > バックエンド開発 > C++ > Windows で Unix の unistd.h ヘッダー ファイルに相当するものは何ですか?

Windows で Unix の unistd.h ヘッダー ファイルに相当するものは何ですか?

Patricia Arquette
リリース: 2024-12-11 17:29:11
オリジナル
562 人が閲覧しました

What's a Windows equivalent for the Unix unistd.h header file?

Windows (Visual C) 用の unistd.h に代わるものはありますか?

開発者は、Unix コンソール プログラムを Windows に移植するときに、が存在しないため、「srandom」、「random」、「getopt」のプロトタイプが欠落しています。 "unistd.h".

ドロップイン交換の必要性があるにもかかわらず、インターネット上で広範な検索を行っても結果が得られませんでした。このギャップに対処するために、一般的に使用される関数をカバーする、Windows 用の「unistd.h」ポートの出発点をここに示します。

#ifndef _UNISTD_H
#define _UNISTD_H 1

#include <stdlib.h>
#include <io.h>
#include <getopt.h>
#include <process.h>
#include <direct.h>

#define srandom srand
#define random rand

#define R_OK 4
#define W_OK 2
#define F_OK 0

#define access _access
#define dup2 _dup2
#define execve _execve
#define ftruncate _chsize
#define unlink _unlink
#define fileno _fileno
#define getcwd _getcwd
#define chdir _chdir
#define isatty _isatty
#define lseek _lseek

#define STDIN_FILENO 0
#define STDOUT_FILENO 1
#define STDERR_FILENO 2

typedef __int8 int8_t;
typedef __int16 int16_t;
typedef __int32 int32_t;
typedef __int64 int64_t;
typedef unsigned __int8 uint8_t;
typedef unsigned __int16 uint16_t;
typedef unsigned __int32 uint32_t;
typedef unsigned __int64 uint64_t;

#endif /* unistd.h */
ログイン後にコピー

このコードは、不足している関数のプロトタイプを提供し、Windows 固有のファイル処理関数を組み込んでいます。元の Unix ファイル ハンドル (STDIN_FILENO、STDOUT_FILENO、STDERR_FILENO) を保持しながら。

さらに必要に応じてポートに拡張機能を追加できるため、Windows 環境における「unistd.h」の包括的な置き換えとなります。

以上がWindows で Unix の unistd.h ヘッダー ファイルに相当するものは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート