2016-03-21 61 views
1

是否可以使用inotify在Windows上使用mingw編譯? 因爲我會監視更改Linux服務器上的文件,但該程序將被編譯並在Windows7機器上運行。我想我必須使用inotify而不是Win32 API FindFirstChangeNotification。 是否可以通過Windows機器監控Linux目錄?MinGW使用inotify

我當我編譯錯誤:

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. 

回答

2

沒有,inotify是Linux內核提供的功能,所以爲了使用它,程序必須在Linux上運行。在Windows上運行的程序必須使用Windows API。

如果您的應用程序在Windows上運行並且可以訪問Linux服務器上的文件,它仍然使用Windows API進行操作,並且Linux文件系統通過某些網絡文件系統(最可能是SMB或NFS)公開,可以完成翻譯工作API和通過網絡發送字節。總之,如果你想監視遠程系統的變化,首先確保你的網絡文件系統支持變更通知,然後使用「本地」API--在你的情況下,Windows的。

+0

好的,謝謝你的回答,我有必要轉向'FindFirstChangeNotification' @ el.pescado – Simon