需要將libeio移植到windows上需要做什麼?windows上的libeio
6
A
回答
7
大約一年後,您可能想要查看的內容(您或任何其他人通過搜索或Google發現此內容)是libuv,以前稱爲liboio。與已被接受的答案相反,Windows並沒有像當時或者當時那樣忽略了偶數I/O的概念,它只是在深奧知識的Windows API的奧祕之外並不是衆所周知的開發人員。在Windows空間中,類似的概念實現爲I/O Completion Ports,所以它不像libeio版本/端口/ fork /模擬需要重新實現輪子,它只需要一個自由外觀的API來實現某些功能正在使用IOCP。
1
Libeio正在使用Windows世界中未知的unix API和unix概念。你的解決方案是:
- 使用Windows上的UNIX抽象層:像cygwin或Windows Services for Unix。但即使有這些層,你必須運行libeio代碼困難,因爲有很多的系統相關的代碼是這樣的:
# if __FreeBSD__ || defined __NetBSD__ || defined __OpenBSD__ # define _DIRENT_HAVE_D_TYPE /* sigh */ # define D_INO(de) (de)->d_fileno # define D_NAMLEN(de) (de)->d_namlen # elif __linux || defined d_ino || _XOPEN_SOURCE >= 600 # define D_INO(de) (de)->d_ino # endif
- 重寫libeio用便攜式抽象庫像GTK+(glib在事實),wxWidgets或Qt。 Thoses框架已經爲低級例程,通信服務,I/O通道和異步隊列實現了強大的API。這些框架的開發人員已經付出了很多努力來允許其代碼的可移植性。你不必重新發明輪子。
當然,第二個解決方案是最好的,考慮到eio.c的相對較小的尺寸,libeio的唯一C文件。
相關問題
- 1. Windows上的Tomcat
- 2. Windows上的NERDTree
- 3. Windows上的NetCDF
- 4. Windows上的Autoconf
- 5. Windows上的Python
- 6. Windows上的AppleScript
- 7. Windows上的XTerm
- 8. Windows上的Apache
- 9. Windows上的Libev
- 10. Windows上的Safari
- 11. Windows上的PlistBuddy
- 12. windows上的cronJob
- 13. windows上的writev
- 14. Windows上的Foundation.h
- 15. windows上的csipsimple
- 16. Windows上的Webistrano
- 17. Windows上的Xvfb
- 18. windows上的geanyvc
- 19. Windows上的Rails3
- 20. 的pg_dump上的WIndows
- 21. Windows Phone上的VirtualizingWrapPanel
- 22. Windows上的聲子
- 23. iOS上的Modal Windows
- 24. Windows上的App :: FatPacker
- 25. Windows上的Python os.path.join
- 26. Windows 8上的MinGW
- 27. Windows上的CGI IDE
- 28. Windows上的信號
- 29. Windows上的Java 7
- 30. Windows上的GHC + wxHaskell
奇蹟,它的外觀。 – 2010-08-16 14:16:26