有沒有人知道Linux/UNIX OS的Windows SetConsoleCtrlHandler
函數的等價物? (具體來說,對於wxWidgets應用程序。)SetConsoleCtrlHandler等價於Unix/Linux C++
回答
您可以使用'signal()' function。
下面是一個例子:
#include <signal.h>
bool stop = false;
void app_stopped(int sig)
{
// function called when signal is received.
stop = true;
}
int main()
{
// app_stopped will be called when SIGINT (Ctrl+C) is received.
signal(SIGINT, app_stopped);
while(false == stop)
Sleep(10);
}
正如評論所說,sigaction()
避免一些陷阱,可以是常見的有signal()
,並且應首選..
或者[sigaction](http://pubs.opengroup.org/onlinepubs/009695399/functions/sigaction.html)。 –
inb4:http://stackoverflow.com/questions/231912/what-is-the-difference-between-sigaction-and-signal –
@LightnessRacesinOrbit感謝您的參考,非常翔實。這是通常一次不會修改的事情之一,所以最後一次我做了這件事,我沒有聽說過'sigaction'。 – Chad
- 1. C++等價於Tidy
- 2. C++等價於SerializeWithLengthPrefix
- 3. C#等價於C++ mem_fun?
- 4. C#等價於C const char **
- 5. 等價於C++中的C++
- 6. getchar()等價於scanf(「%c」)和putchar()等價於printf(「%c」)?
- 7. R:+ =(加上等於)和++(加上)等價於C++/c#/ java等等?
- 8. parseInt()或int等價於C
- 9. JavaScript等價於C#的DynamicObject?
- 10. Perl語句等價於C
- 11. C++ DirectX 11 glGetUniformLocation等價於
- 12. C#等價於python的struct.pack
- 13. C#等價於file_get_contents(PHP)
- 14. C linux等價於windows QueryPerformanceCounter
- 15. Sscanf等價於Objective-C
- 16. C#等價於VB 6 DoEvents
- 17. VB.NET等價於C#代碼
- 18. C++等價於Python的doctests?
- 19. C++等價於NSOperation和NSOperationQueue
- 20. C#等價於Java的Character.digit
- 21. FORTRAN等價於C++語言
- 22. C#等價於Form.Activate事件?
- 23. C#等價於imbue和numpunct
- 24. QPainter等價於Objective C
- 25. C#等價於Python的os.path.exists()?
- 26. PHP的preg_match()等價於C++?
- 27. C++等價於Java的BlockingQueue
- 28. java等價於atof C++
- 29. 等價於BN_hex2bn
- 30. Objective-C等價於C#中的「override」#
你到目前爲止進行什麼樣的研究? –
從我所知道的來看,POSIX信號是最接近的匹配。 –