Tôi đã mất cảnh giác ngày hôm nay bởi gdb
:
Program exited with code 0146.
gdb
in mã trả về trong bát phân ; tìm hiểu lý do tại sao tôi tìm thấy:
http://comments.gmane.org/gmane.comp.gdb.devel/30363
Nhưng đó không phải là một câu trả lời đặc biệt thỏa mãn. Một số googling nhanh chóng không tiết lộ lịch sử, vì vậy tôi đã hy vọng ai đó trên SO có thể biết câu chuyện phía sau.
Một câu hỏi hơi liên quan, làm thế nào người ta thậm chí sẽ xem mã trả về trong bát phân? Có lẽ máy cũ luôn in mã trả lại?
$ printf %o\\n $?
Khá là khó xử :)
man ascii
sẽ không có ích để chuyển đổi bát phân thành thập phân. bc
sẽ là một lựa chọn tốt hơn
$?
là giá trị của vỏ cho mã trở lại, và là một chữ số thập phân (hoặc không hỗ trợ gdb ví dụ của bạn cũng cmd?). Không biết tại sao gdb báo cáo nó trong bát phân. Giải pháp của tôi là lấy ra 'olman ascii
để xem giá trị bát phân có ý nghĩa gì. Câu hỏi thú vị, khi bạn chạy vào các giá trị bát phân từ các chương trình khác. Có lẽ nó được thảo luận trong 'Envioronment' của Kernighan và Pike. Chúc may mắn.