Подтвердить что ты не робот

Где найти реализации функций stdio.h?

Я изучаю C, и я заметил, что я не могу найти файл реализации для некоторых заголовочных файлов, например, stdio.h, который представляет собой библиотеку, которая содержит множество функций ввода/вывода, например printf. Где я могу найти его реализацию?

4b9b3361

Ответ 1

Скачайте один из них:

Или, еще лучше, загрузите несколько из них и сравните их реализации. Конечно, они, вероятно, делают много чего по сравнению с вашей конкретной стандартной библиотечной реализацией, но все равно будут довольно интересными, например. не-платформенные функции, такие как sprintf.

Ответ 2

Например здесь. Google - ваш друг - просто найдите stdio.c. Но обратите внимание, что вы должны обрабатывать их как "одну реализацию многих возможных" - вы не знаете, как ваш компилятор делает это, читая их, вы просто получаете представление о том, как это можно сделать.

Ответ 3

Вам нужно найти исходный код для стандартной библиотеки C, такой как glibc: http://www.gnu.org/s/libc/

Вы можете скачать исходный код здесь: http://ftp.gnu.org/gnu/glibc/ Он содержит источник для всех библиотечных функций.

Ответ 4

Если вы устанавливаете SDK Windows, есть возможность включить стандартный исходный код библиотеки, чтобы вы также могли увидеть, как он реализован в Windows.

Ответ 5

В Ubuntu или другой ОС, которая использует aptitude для управления пакетами, вы можете использовать:

apt-get source libc6

например.

Кроме того, при запуске gcc в режиме подробного описания вы узнаете подробности путей, которые он использует. Это должно помочь вам найти, какие include и пути библиотеки он использует.

gcc -v

или

gcc -Wl,--verbose