Bài viết mới nhất

Tổng 1831 bài
Trình biên dịch 03/09/2026 8 phút

Đoạn kiểm tra tràn của tôi báo 'an toàn' đúng lúc số đã âm — và nó chết ngay ở -O0

Kiểm tra tràn signed 'x+100 < x' bị trình dịch xóa thành return 0 — ngay ở -O0, không đợi -O2 như tôi tưởng. Còn unsigned thì quấn vòng đoán được, giữ nguyên phép so sánh. Đọc assembly thật để thấy vì sao bạn không được phát hiện tràn bằng chính phép tràn.