tôi chỉ có 1 dòng mã, và đây là:Tại sao tôi nhận được lỗi tràn bộ đệm với dòng mã này?
pcrecpp::RE re("abc");
bên trong một hàm OnBnClickedButtonGo()
. Và chức năng này thất bại trong chế độ phát hành, nhưng nó hoạt động OK trong chế độ gỡ lỗi.
(Tôi đang sử dụng Visual Studio 8 trên Windows XP.)
Các thông báo lỗi là:
A buffer overrun has occurred in testregex.exe which has corrupted the program's
internal state. Press Break to debug the program or Continue to terminate
the program.
For more details please see Help topic 'How to debug Buffer Overrun Issues'.
tôi nghi ngờ nó là destructor của nó, đó là vô hình và ngụ ý ... nhưng tôi don 't biết thực sự.
PS: Tôi liên kết tĩnh với phiên bản lib PCRE 7.8. PS2: Không liên quan lắm, nhưng có thể giúp một số người gặp khó khăn khi liên kết với thư viện PCRE (tôi mất nhiều giờ để sắp xếp nó): bao gồm dòng #define PCRE_STATIC
.
Bạn đã xây dựng thư viện hay đó là thư viện đóng hộp? Dù bằng cách nào, nó được biên dịch với cùng một trình biên dịch? Nếu không, tôi sẽ thử xây dựng các lib với trình biên dịch của bạn và xem nếu điều đó giúp. –