Форум программистов, компьютерный форум CyberForum.ru

Где увидеть тело функции system(); ? - C++

Восстановить пароль Регистрация
 
mamucho666
1 / 1 / 0
Регистрация: 06.06.2012
Сообщений: 13
06.06.2012, 15:14     Где увидеть тело функции system(); ? #1
Здравствуйте, меня всегда интересовало где можно увидеть тела некоторых функций, например system();

Если перейти в стандартную библиотеку, то там есть только объявление, а определение где? Интересно же посмотреть как вообще это работает. Или fopen(); Просто иногда хочется знать как это вообще происходит.

Или я чего-то не понимаю? Может это какие-то особенные функции? Ещё у некоторых классов тела функций тоже пустые, даже без параметров и перегруженных невидно. Особенно часто так с конструкторами происходит.

P.S. Спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.06.2012, 15:14     Где увидеть тело функции system(); ?
Посмотрите здесь:

C++ identifier not found при использовании функции system()
C++ Тело функции, находящей минимльное значение
C++ где тело цикла ?
C++ Функции system()
C++ Функции system();
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
06.06.2012, 15:17     Где увидеть тело функции system(); ? #2
Скачайте любой исходник свободного, бесплатного компилятора, там Вы найдете все Вас интересующее. В стандартных заголовочных файлах лежат только прототипы функций, и определения классов. Сама же реализация уже собрана в бинарные файлы.
mamucho666
1 / 1 / 0
Регистрация: 06.06.2012
Сообщений: 13
06.06.2012, 15:22  [ТС]     Где увидеть тело функции system(); ? #3
Ах вот оно в чём дело! А может есть где сайт, где всё это уже есть? Как на cplusplus.com?
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
06.06.2012, 15:27     Где увидеть тело функции system(); ? #4
А Вы видели, чтоб на cplusplus.com была хоть одна реализация функции? Это справочный сайт по языку, там лишь лежат прототипы стандартных функций и определения классов. Ну и примеры использования. Каждый разработчик компиляторов по своему реализует стандартный функционал языка. Не все функции имеют тривиальную реализацию.
qfisher
30 / 30 / 1
Регистрация: 24.05.2012
Сообщений: 156
06.06.2012, 15:29     Где увидеть тело функции system(); ? #5
Цитата Сообщение от mamucho666 Посмотреть сообщение
Как на cplusplus.com?
А где там исходники есть? Там вроде только описание.
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
06.06.2012, 15:30     Где увидеть тело функции system(); ? #6
Цитата Сообщение от Toshkarik Посмотреть сообщение
А Вы видели, чтоб на cplusplus.com была хоть одна реализация функции?
http://www.cplusplus.com/reference/algorithm/for_each/
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
06.06.2012, 15:31     Где увидеть тело функции system(); ? #7
Ну это простейший шаблон, то же самое можно привести в пример и std::swap. Они и в GCC например имеют такой же вид.
mamucho666
1 / 1 / 0
Регистрация: 06.06.2012
Сообщений: 13
06.06.2012, 15:36  [ТС]     Где увидеть тело функции system(); ? #8
Я имел ввиду структуру сайта. То есть заходишь на сайт, жмёшь файл заголовка, выбираешь функцию и любуешься, только не описанием, а исходником.

А вообще для меня это настоящее открытие, что стандартная библиотека на самом деле совершенно нестандартная. Не ровен час, так ещё и окажется, что, например, чтение и запись файла вообще не в C++ реализовано, а на каком-нибудь другом языке.
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
06.06.2012, 15:43     Где увидеть тело функции system(); ? #9
Цитата Сообщение от mamucho666 Посмотреть сообщение
Не ровен час, так ещё и окажется, что, например, чтение и запись файла вообще не в C++ реализовано, а на каком-нибудь другом языке.
Скорее всего, так и есть. На ассемблере.
Можете покопаться в исходниках своего компилятора, но как правило, в них не очень читабельный код.
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
06.06.2012, 15:49     Где увидеть тело функции system(); ? #10
Компилятор тоже программа, и язык, на котором он реализован, может быть практически любой. Я, например, знаю всего один компилятор, написанный на самом себе - это fasm.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.06.2012, 15:53     Где увидеть тело функции system(); ?
Еще ссылки по теме:

Передать функции System код цвета переменной C++
C++ Прототип и тело функции. Алгоритм вычисления квадратного корня
C++ Можно ли в классе заполнять тело функции?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,585
Записей в блоге: 12
06.06.2012, 15:53     Где увидеть тело функции system(); ? #11
mamucho666, можешь засунуть код в борлэнд и после когда будет выполнятся инструкция нажми debug->viem CPU и нажимай ф7 пока не пройдут два дальних перехода
Yandex
Объявления
06.06.2012, 15:53     Где увидеть тело функции system(); ?
Ответ Создать тему
Опции темы

Текущее время: 12:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru