2010-10-20 54 views
6

Tôi có một thư viện đơn giản được viết bằng C++ mà tôi đang tạo một trình bao bọc Python để sử dụng boost.python. Một số chức năng mất nhiều thời gian để thực thi (trên 30 giây) và tôi muốn làm cho nó bị gián đoạn để khi tôi nhấn ctrl-d để kích hoạt KeyboardInterrupt trong trình thông dịch python, tôi bằng cách nào đó có thể trả lời trong C++.Làm cách nào để chuyển/bắt/trả lời Bàn phím của Python trong Trình duyệt C++?

Có cách nào để thực hiện việc này không? Tôi không thể tìm thấy bất kỳ thông tin nào về ngắt và boost.python tại boost.org hoặc python.org.

+0

Nếu bạn có một ví dụ làm việc tối thiểu về điều này, nó sẽ hữu ích nhất nếu bạn bao gồm nó. Cảm ơn. –

+0

Tôi tìm thấy một ví dụ [ở đây] (http://mail.python.org/pipermail/cplusplus-sig/2010-February/015209.html), nhưng nó phức tạp. Khi nó xảy ra nó sử dụng PyErr_CheckSignals(). –

+0

Câu trả lời dưới đây, sử dụng PyErr_CheckSignals() hoạt động tốt. Cảm ơn. –

Trả lời

4

Gọi PyErr_CheckSignals() mọi lần như vậy.

+5

Một ví dụ làm việc hoàn chỉnh tối thiểu sẽ hữu ích nhất ở đây. –

Các vấn đề liên quan