Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: 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 - учитывает архитектуру, стандартная библиотека, язык программирования - нет.


Ваше имя:

Пароль:

Цитировать

Используйте тэги для выделения текста:
Код: [code][/code]
Жирный: [b][/b]
Наклонный: [i][/i]
URL: [url][/url]

Сообщение:

Прикрепить: