Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.01.2014, 18:30   #11
relav_
Пользователь
 
Регистрация: 01.03.2008
Сообщений: 27
По умолчанию

а где находится реализация функций стандартной библиотеки С и С++? и как связаны заголовочные файлы с соответствующей библиотекой, кто их связывает?

Последний раз редактировалось relav_; 12.01.2014 в 18:36.
relav_ вне форума Ответить с цитированием
Старый 12.01.2014, 18:49   #12
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от relav_ Посмотреть сообщение
а где находится реализация функций стандартной библиотеки С и С++? и как связаны заголовочные файлы с соответствующей библиотекой, кто их связывает?
линкер их связывает.
заголовочные файлы лишь объявляют наличие функций, но нужна еще реализация оных(либо через импорт, либо сам код).

зависит от используемого компилятора, под виндой часто применяется mscrt или как то так, не помню.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 12.01.2014, 19:28   #13
relav_
Пользователь
 
Регистрация: 01.03.2008
Сообщений: 27
По умолчанию

я так понимаю, что в линкер вшито соответствие между хед файлом и библиотекой или он ищет по всем указаным библиотекам?

как я могу узнать в какой библиотеки сидит реализация функций входящих в хед файл iostream например? почему то в MSDN не пишут имя библиотеки для стандартных библиотек С/С++.
relav_ вне форума Ответить с цитированием
Старый 12.01.2014, 19:38   #14
220Volt
Форумчанин
 
Регистрация: 14.12.2012
Сообщений: 668
По умолчанию

Стандартные библиотеки подключаются к линкеру по умолчанию. Например, если запустить gcc main.cpp - линкеру подсунется только Си библиотека; если g++ main.cpp - то c++ библиотека.
Если самостоятельно подключать доп. библиотеки то о таких вопросах придется думать самому.

Реализация стандартной библиотека может быть либо в статической библиотеки (вшивается в код программы), либо в динамической (нужно таскать за приложением).

Последний раз редактировалось 220Volt; 12.01.2014 в 19:42.
220Volt вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Язык программирования eImage Помощь студентам 6 14.09.2012 19:22
Язык программирования D russian-stalker Свободное общение 2 07.02.2011 20:51
Библиотеки на разных языках программирования Яр|/||< (^_^) Свободное общение 2 25.03.2010 09:50
Язык программирования С++ Jasper92 Свободное общение 2 09.11.2009 13:51
язык программирования Си Ruslan0990kz Общие вопросы C/C++ 1 03.06.2009 22:01