ฉันกำลังย้ายรหัส C / pro * c จาก UNIX ไปยัง Linux รหัสคือ:
#define __NFDBIT (8 * sizeof(unsigned long))
#define __FD_SETSIZ 1024
#define __FDSET_LONG (__FD_SETSIZ/__NFDBIT)
typedef struct {
unsigned long fds_bits [__FDSET_LONG];
} __ernel_fd_set;
typedef __ernel_fd_set fd_set_1;
int main()
{
fd_set_1 listen_set;
int listen_sd;
int socket_id;
FD_ZERO(&listen_set);
socket_id = t_open("/dev/tcp", O_RDWR|O_NONBLOCK, (struct t_info *) 0);
if ( socket_id <0 )
{
exit(FAILURE);
}
return 0;
}
ใน UNIX ค่าของ socket_id คือในลินุกซ์มันเป็น> 0
เหตุผลที่อยู่ในระบบปฏิบัติการยูนิกซ์มี-1
/dev/tcp
สิ่งนี้ไม่ปรากฏบน Linux นอกจากนี้ใน UNIX tcp
ไฟล์นี้เป็นไฟล์พิเศษของตัวละครซึ่งแตกต่างจากไฟล์ปกติ
มีวิธีใดที่จะสร้างไฟล์พิเศษของอักขระตัวเดียวกันใน Linux เช่นเดียวกับใน UNIX หรือจะดำเนินการต่อไปอีกหรือไม่?