当前位置: 首页 > 面试题库 >

Windows上的fcntl替代品

陆宾白
2023-03-14
问题内容

我收到了一个Python项目(如果需要的话,它恰好是Django项目)使用fcntl了标准库中的模块,该库似乎仅在Linux上可用。当我尝试在Windows计算机上运行它时,它会以停止ImportError,因为此模块在此处不存在。

我有什么办法可以对程序进行一些小的更改以使其在Windows上运行?


问题答案:

fcntlWindows上的替代项是win32api调用。用法是完全不同的。这不是您可以直接拨动的开关。

换句话说,将fcntl-heavy-
user模块移植到Windows并非易事。它要求您分析每个fcntl调用的确切功能,然后找到等效的win32api代码(如果有)。

也有可能某些使用的代码fcntl没有Windows等效项,这将要求您使用要移植的模块来更改模块api以及程序的结构/范例。

如果您提供有关fcntl呼叫的更多详细信息,人们可以找到Windows等效项。



 类似资料:
  • 问题内容: 我一直在遵循Beej网络指南,并且在服务器部分中,有一部分代码称为功能fork()。 我在Windows机器上,无法正常工作。我该怎么解决?我的代码如下。 问题答案: 检查您的模式中是否包含指向不存在的模块或没有成员的模块的include语句。我发现您的可能不正确。应该是吗?

  • 描述 (Description) 此函数是系统fcntl()函数的Perl版本。 使用FILEHANDLE上的SCALAR执行FUNCTION指定的功能。 SCALAR包含要由函数使用的值,或者是任何返回信息的位置。 语法 (Syntax) 以下是此函数的简单语法 - fcntl FILEHANDLE, FUNCTION, SCALAR 返回值 (Return Value) 此函数返回0,但如果

  • fcntl(文件描述词操作) 相关函数 open,flock 表头文件 #include<unistd.h> #include<fcntl.h> 定义函数 int fcntl(int fd , int cmd); int fcntl(int fd,int cmd,long arg); int fcntl(int fd,int cmd,struct flock * lock); 函数说明 fcntl

  • fcntl 文件描述词操作 相关函数 open,flock 表头文件 #include<unistd.h> #include<fcntl.h> 定义函数 int fcntl(int fd, int cmd); int fcntl(int fd, int cmd, long arg); int fcntl(int fd, int cmd, struct flock *lock); 函数说明 fc

  • 函数原型 #include <unistd.h> #include <fcntl.h> int fcntl(int fd, int cmd, ... /* arg */ ); 参数 参数可能有两个,也可能有三个,具体看第二个参数的取值。 fd: 文件描述符 cmd: 命令 arg: 命令的参数 常用cmd arg 描述 F_DUPFD 复制文件描述符 F_GETFD 无 获取文件描述符标签 F_S

  • 6. fcntl 先前我们以read终端设备为例介绍了非阻塞I/O,为什么我们不直接对STDIN_FILENO做非阻塞read,而要重新open一遍/dev/tty呢?因为STDIN_FILENO在程序启动时已经被自动打开了,而我们需要在调用open时指定O_NONBLOCK标志。这里介绍另外一种办法,可以用fcntl函数改变一个已打开的文件的属性,可以重新设置读、写、追加、非阻塞等标志(这些标志