почему в одном? все используемое представлено древовидной файловой структурой, отдельно макросы, отдельно константы, отдельно структуры, все разбито по принадлежности к ОС, к формату файла, к технологии, ну и сам проект может быть структурирован. А не 1 файл. И без всякой архаичной технологии линковки.