将 inotify 与 MinGW 结合使用
Use inotify with MinGW
是否可以使用 inotify
在 Windows 上使用 mingw 进行编译?
因为我会监视更改 Linux 服务器上的文件,但程序将在 Windows7 台机器上编译和 运行。我想我必须使用 inotify 而不是 Win32 API FindFirstChangeNotification
。
是否可以从 Windows
机器监控 Linux
目录?
我编译时的错误:
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Users\simon\Desktop>g++ main.c -o main.exe
main.c:5:25: fatal error: sys/inotify.h: No such file or directory
#include <sys/inotify.h>
^
compilation terminated.
不,inotify
是 Linux 内核提供的功能,因此为了使用它,程序必须在 Linux 上 运行。在 Windows 上 运行ning 的程序必须使用 Windows API。
如果您的应用程序 运行 在 Windows 上运行并且可以访问 Linux 服务器上的文件,它仍然使用 Windows API 来访问,并且 Linux 文件系统是通过一些网络文件系统(最有可能是 SMB 或 NFS)公开的,它负责翻译 API 和通过网络发送字节。
总而言之,如果您想监视远程系统上的更改,首先确保您的网络文件系统支持更改通知,然后使用 "local" API - 在您的情况下,Windows。
是否可以使用 inotify
在 Windows 上使用 mingw 进行编译?
因为我会监视更改 Linux 服务器上的文件,但程序将在 Windows7 台机器上编译和 运行。我想我必须使用 inotify 而不是 Win32 API FindFirstChangeNotification
。
是否可以从 Windows
机器监控 Linux
目录?
我编译时的错误:
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Users\simon\Desktop>g++ main.c -o main.exe
main.c:5:25: fatal error: sys/inotify.h: No such file or directory
#include <sys/inotify.h>
^
compilation terminated.
不,inotify
是 Linux 内核提供的功能,因此为了使用它,程序必须在 Linux 上 运行。在 Windows 上 运行ning 的程序必须使用 Windows API。
如果您的应用程序 运行 在 Windows 上运行并且可以访问 Linux 服务器上的文件,它仍然使用 Windows API 来访问,并且 Linux 文件系统是通过一些网络文件系统(最有可能是 SMB 或 NFS)公开的,它负责翻译 API 和通过网络发送字节。
总而言之,如果您想监视远程系统上的更改,首先确保您的网络文件系统支持更改通知,然后使用 "local" API - 在您的情况下,Windows。