Giới hạn tài nguyên
Chạm giới hạn fd cho lỗi EMFILE tự nâng được không cần root; nhưng nâng xong lại đụng một trần khác (ENFILE toàn hệ thống) không phải của mình. Đo thật, và để errno nói thật đang chạm trần nào.
Chạm giới hạn fd cho lỗi EMFILE tự nâng được không cần root; nhưng nâng xong lại đụng một trần khác (ENFILE toàn hệ thống) không phải của mình. Đo thật, và để errno nói thật đang chạm trần nào.
Một lệnh gcc chạy qua bốn bước: tiền xử lý, biên dịch, hợp dịch, liên kết. Đo từng bước, và đọc assembly mới thấy trình dịch lặng lẽ đổi printf thành puts. Đo thật trong container.
Macro trông như hàm nhưng chỉ là dán văn bản: SQ(i++) khiến i tăng hai lần, SQ_BAD(1+2) ra 5 chứ không phải 9. Và một #include kéo theo 37 file. Đo thật bằng gcc -E.
Include guard chống được include lặp, nhưng nó khóa theo TÊN macro chứ không theo file — hai header trùng tên guard làm một cái biến mất im lặng. Đo thật bằng gcc -E.
Mỗi .c dịch một mình, không thấy các file khác; linker khớp theo tên chứ không theo kiểu. Một lệch kiểu xuyên file lọt lưới cả trình dịch lẫn linker — chỉ -flto bắt được. Đo thật.
Mỗi gói tin gánh 66 byte header cố định. Với 1 byte dữ liệu, 98,51% những gì chạy trên dây là header — đo thật bằng tcpdump.