Всё зависит от того, о каком стандарте идёт речь. По сути, стандартизированы только библиотеки, касающиеся самого языка и базовых взаимодействий с ОС. Эти функции описаны в соответствующих разделах стандартов C (раздел 7) и C++ (разделы 20-33).
Если говорить о библиотеках самой ОС, то никаких формальных стандартов в этой области нет, разработчики ОС сами решают, что туда должно войти.
Графика НЕ входит в стандартные языковые библиотеки. Она входит в библиотеки ОС.
Sebt писал(а):
А как быть с библиотекой/ами? Указывать их при сборке?
Линкер должен иметь информацию обо всех используемых библиотеках без исключения. Многие компиляторы имеют внутренний список библиотек, подключаемых по умолчанию, так что не возникает необходимости в их явном указании.
Sebt писал(а):
Появилась догадка что стандартная библиотека именно при компиляции, а другие уже динамически.
Эта фраза совершенно непонятна. "Стандартная" библиотека и "динамическая" — это ортогональные понятия.
Sebt писал(а):
как быть с другими библиотеками, как их загружать в память? В отдельное пространство? А как организовать видимость?
Динамические библиотеки в микропроцессорах семейства x86 должны настраиваться на конкретные адреса, по которым они будут располагаться, через так называемые "таблицы релокаций". Следовательно, возможны два подхода. Либо каждый процесс имеет собственную копию библиотеки в своём адресном пространстве, либо резервируется область адресного пространства исключительно для динамических библиотек таким образом, что одна библиотека располагается по одинаковым адресам в разных процессах. Во втором случае физические страницы библиотеки можно "расшарить" между процессами. Оба подхода имеют свои недостатки. В первом случае расходуется лишняя память на копии библиотек, во втором случае расходуется адресное пространство процесса на библиотеки, которые ему могут не понадобиться.