Rumah >pembangunan bahagian belakang >C++ >Apakah yang setara dengan Windows untuk fail pengepala Unix unistd.h?
Adakah terdapat pengganti unistd.h untuk Windows (Visual C)?
Semasa mengalihkan program konsol Unix ke Windows, pembangun selalunya menemui prototaip yang hilang untuk 'rawak', 'rawak' dan 'getopt' kerana ketiadaan "unistd.h".
Walaupun memerlukan penggantian drop-in, carian yang meluas di internet tidak membuahkan hasil. Untuk menangani jurang ini, berikut ialah titik permulaan untuk port "uistd.h" untuk Windows, meliputi fungsi yang biasa digunakan.
#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 */
Kod ini menyediakan prototaip untuk fungsi yang hilang dan menggabungkan fungsi pengendalian fail khusus Windows sambil mengekalkan pemegang fail Unix asal (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO).
Peningkatan lanjut boleh ditambah pada port mengikut keperluan, menjadikannya pengganti komprehensif untuk "uistd.h" dalam persekitaran Windows.
Atas ialah kandungan terperinci Apakah yang setara dengan Windows untuk fail pengepala Unix unistd.h?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!