Автор: cheops (25.01.2007 в 14:06)
Это набор бибилиотек и стандартом они являются не для сред разработки, а для операционной системы Windows в целом. Изначально только на Windows API можно было разрабатывать программы для Windows - потом разработали облегчающие библиотеки VCL в Builder и MFC в Visual Studio. Для этих сред их собственные библиотеки являются стандартными, а API - это то, при помощи чего были разработаны эти библиотеки и при помощи чего любая программа взаимодействует с операционной системой.
Грубо говоря читаете вы файл при помощи функции fread(), на самом деле под Windows идёт обращение к функции Windows API - ReadFile() - если вы обратитесь к этой функции напрямую, вы прочитаете файл быстрее, однако программу уже нигде кроме Windows откомпилировать не сможете. Тоже самое под UNIX - обращаетесь к fread(), а на самом деле вызывается системный вызов read() (кстати, именно поэтому файловые функции в C++ начинаются с f - чтобы не совпадали с системными вызовами UNIX). Вы можете использовать системный вызвов UNIX в программе, но уже под Windows такую программу не откомпилируете. Используя fread() вы откомпилируете программу где угодно, хоть под Macintosh, хоть под QNX и вообще везде, где имеется C-компилятор.
Вот именно поэтому появилась стандартная библиотека - функции этой библиотеки известны под любой операционной системой и не зависят от API. Для процессоров используется Ассемблер, который зависит от архитектуры процессора и уникален для каждого процессора, языки программирования уже не зависят от процессора, но компиляторы пишутся с использованием ассемблера для каждого из процессоров. Вот API - это по сути своеобразный ассемблер для операционной системы. API - учитывает архитектуру, стандартная библиотека, язык программирования - нет.