Jeder Standardheader hat eine Spezifikation dafür, was er offenlegt oder offenlegen kann. dirent.h
macht struct dirent
verfügbar , DIR
und die relevanten Funktionen und reserviert Namen, die mit d_
beginnen . Einige Header sind auch erlaubt, aber nicht erforderlich, um Dinge offenzulegen, die von bestimmten anderen Headern offengelegt werden; dirent.h
gehört nicht dazu. Also indirekt einschließlich limits.h
wäre eine Verletzung des Namensraums und würde konforme Programme beschädigen, die davon ausgehen, dass sie Namen verwenden können, die limits.h
sind für ihre eigenen Bezeichner verfügbar machen würden.