Ogni intestazione standard ha una specifica per ciò che espone o può esporre. dirent.h espone struct dirent , DIR , e le relative funzioni, e riserva i nomi che iniziano con d_ . Alcune intestazioni sono anche consentite ma non obbligatorie per esporre cose esposte da certe altre intestazioni; dirent.h non è uno di questi. Quindi includendo indirettamente limits.h sarebbe una violazione dello spazio dei nomi e interromperebbe i programmi conformi che presuppongono di poter utilizzare nomi che limits.h esporrebbe per i propri identificatori.
Perché la mappatura MAP_GROWSDOWN non cresce?