2009-11-04 41 views
1

我想知道我是否可以在MinGW開發鏈上使用poll()函數。我有CodeBlocks + MinGW。非常感謝。windows上的poll()c函數

+3

你嘗試過什麼?你打電話時是否存在?當你使用它時它工作嗎?你爲什麼不試試呢?你有沒有證據證明它不起作用? – 2009-11-04 05:31:09

+0

那麼,我聽說它只是POSIX,我想知道是否有人在MinGW上成功地使用過它,但我沒有嘗試過。 – ademir 2009-11-04 05:41:29

+0

也許我應該把它作爲答案放在這裏,但這個問題太老了。所以,你不能使用; MinGW甚至不知道這是什麼功能。但是有趣的是,在MinGW的winsock2.h文件中定義了一個'pollfd'結構,甚至不知道爲什麼。可能這是一個人的希望,殘酷地埋在源代碼的千分之一符號之下。而且,我可能是那些有希望的人之一。 – 2014-08-12 11:56:16

回答

1

最後我聽說poll()要麼不被支持,要麼在mingw上提供有限的功能。但是你可以在內部提供你自己的使用select()的基本poll()

+0

不! Win32'select()'幾乎與'poll()'函數無關。它不能監聽串口,既不命名管道。 – 2014-08-12 11:40:34

0

Windows操作系統提供了WSAPoll()功能,但性能比select()更糟的是,從MSDN博客它只是實現改善的便攜性:

http://blogs.msdn.com/b/wndp/archive/2006/10/26/wsapoll.aspx

+0

'WSAPoll()'不適用於命名管道,因爲我剛剛在自己的答案中找到。我懷疑這不適用於串行端口。 – 2014-08-12 12:06:14

+0

值得注意的是'WSAPoll()'不報告失敗的連接。微軟對cURL作者的建議是不使用它,它的API在發佈Windows 8後無關緊要 - https://curl.haxx.se/mail/lib-2012-10/0038.html – Anon 2017-03-02 23:22:32