Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Где искать код реализованных ранее библиотечных функций ?
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Сегодня столкнулся с патчар ( putchar()), решил узнать как она реализована. Сделал поиск на машине библиотеки stdlib, нашёл только header file, два. И всё. Гуглил, не нашёл реализации. Увидел кучу примеров по использованию. Где искать ? Аналогичная ситуация с оператором sizeof, но по нему, как я понял, нет смысла что-то искать, ибо этот оператор реализован в системе команд машины на которой пропускается программа (или реализовано в ОС) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2014, 03:18 |
|
||
|
Где искать код реализованных ранее библиотечных функций ?
|
|||
|---|---|---|---|
|
#18+
А эта функция (патчар) также не входит в состав языка, говорит K&R. Где она реализована ? Сначала я подумал, нужно хорошо изучить ОС, но дело не в этом(Да и K&R говорили что они специально создали машинно-независимый язык). Какой-то слой находится между программой и ОС. Этот слой машинный код, по-видимому. Значит вероятно putchar, sizeof, всё там ? Значит нужно изучать ассемблер? Чтобы стать хорошим программистом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2014, 04:57 |
|
||
|
Где искать код реализованных ранее библиотечных функций ?
|
|||
|---|---|---|---|
|
#18+
Хотя это очевидно, его нужно изучать. Это как заниматься функциональным анализом, не зная как складывать числа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2014, 05:00 |
|
||
|
Где искать код реализованных ранее библиотечных функций ?
|
|||
|---|---|---|---|
|
#18+
SashaMercuryЗдравствуйте. Сегодня столкнулся с патчар ( putchar()), решил узнать как она реализована. Сделал поиск на машине библиотеки stdlib, нашёл только header file, два. И всё. Гуглил, не нашёл реализации. Увидел кучу примеров по использованию. Где искать ? Аналогичная ситуация с оператором sizeof, но по нему, как я понял, нет смысла что-то искать, ибо этот оператор реализован в системе команд машины на которой пропускается программа (или реализовано в ОС) ? В исходниках никто не обещал все давать. Особенно MS, чьим компилятором ты пользуешься. За исходниками это в опенсорц, там все с исходниками. Да и не надо по каждой функции лезть в ее исходники, учись читать документацию вот putchar() sizeof() это не функция, а оператор. При компиляции от заменяется на конкретное значение. Например Код: plaintext 1. откомпилируется в Код: plaintext 1. SashaMercuryА эта функция (патчар) также не входит в состав языка, говорит K&R. Где она реализована ? MS никогда жестко не придерживался стандартов, поэтому их компиляторы имеют функции, отсутствующие в стандартах. SashaMercuryСначала я подумал, нужно хорошо изучить ОС, но дело не в этом(Да и K&R говорили что они специально создали машинно-независимый язык). Какой-то слой находится между программой и ОС. Этот слой машинный код, по-видимому. Значит вероятно putchar, sizeof, всё там ? Правильно подумал, возможности ОС надо изучать. ОС и "машинно-независимый" это разные вещи. "машинно-независимый" это гарантия того что код скомпилируется под любой процессор без каких-либо изменений, так оно и есть. "Какой-то слой" - это компилятор, который превращает машинно-независимый код на Си в машинно-зависимый "машинный код" понятный конкретному процессору. SashaMercuryЗначит нужно изучать ассемблер? Ассемблер это и есть "машинный код" только в удобном для чтения виде. Изучать его не обязательно. Но хуже не будет если будешь знать как оно реально происходит. Можешь поизучать, только без фанатизма, просто для общего развития. SashaMercuryЧтобы стать хорошим программистом Для этого лучше алгоритмы изучать, Кнута почитай . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2014, 07:43 |
|
||
|
Где искать код реализованных ранее библиотечных функций ?
|
|||
|---|---|---|---|
|
#18+
SashaMercuryСегодня столкнулся с патчар ( putchar()), Был у меня один знакомый, который get/put произносил как джет/пат. Потом перестал, т.к. я каждый раз ржал когда слышал :) Посмотрите что-ли в словарике :) Dima TВ исходниках никто не обещал все давать. Особенно MS По удивительному стечению обстоятельств, именно у MS проще всего посмотреть исходники библиотек. Потому что MS их поставляет в составе студии (искать папку CRT или типа того), а вот всякие GCC обычно безо всяких исходников установлены, и их надо отдельно устанавливать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2014, 11:11 |
|
||
|
Где искать код реализованных ранее библиотечных функций ?
|
|||
|---|---|---|---|
|
#18+
Эти функции находятся в библиотеке CRT, которая стандартна в смысле проведения и интерфейса, но реализации у каждого компилятора разные (как правило). С каждым компилятором поставляется своя CRT, с ней же идет как правило опционально её исходный код. Для GCC надо поставить соответствующий пакет или скачать с сайта. Для MSVC исходники тоже поставляются, но чтобы они были установлены, надо при установке указать опцию, чтобы это делать. Про умолчанию исходники не ставятся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2014, 12:05 |
|
||
|
Где искать код реализованных ранее библиотечных функций ?
|
|||
|---|---|---|---|
|
#18+
Dima_T, спасибо С: Anatoly Moskovsky Посмотрите что-ли в словарике :) самое интересное, что я специально посмотрел(до вашего ответа), ещё утром. Но почему-то прочитал u в транскрипции как a. Вот так, хорошо что вы поправили. А то я сегодня решил что всё-время неправильно говорил пут, вместо пат. MasterZiv, видимо я эту опцию не применял, спасибо Dima_TДа и не надо по каждой функции лезть в ее исходники, учись читать документацию вот Да я до сих пор с недоверием использую printf, не знаю её реализацию. А putchar и getchar вообще что-то противозаконное. Не очень приятно использовать что-то, если не известно как это работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2014, 14:47 |
|
||
|
Где искать код реализованных ранее библиотечных функций ?
|
|||
|---|---|---|---|
|
#18+
SashaMercuryДа я до сих пор с недоверием использую printf, не знаю её реализацию это уже паранойя ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2014, 15:10 |
|
||
|
Где искать код реализованных ранее библиотечных функций ?
|
|||
|---|---|---|---|
|
#18+
SashaMercuryсамое интересное, что я специально посмотрел(до вашего ответа), ещё утром. Но почему-то прочитал u в транскрипции как a. Вот так, хорошо что вы поправили. А то я сегодня решил что всё-время неправильно говорил пут, вместо пат. Во первых, действительно "пут". А во вторых, ассемблер знать надо. Причем в обоих вариантах - CISC и RISC. Можно ограничиться одним диалектом из одного семейства и одним из другого. Но понимать структуру обоих подходов нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2014, 18:37 |
|
||
|
Где искать код реализованных ранее библиотечных функций ?
|
|||
|---|---|---|---|
|
#18+
White OwlА во вторых, ассемблер знать надо. Причем в обоих вариантах - CISC и RISC. Если так, то дополнительно не помешает узнать что такое собственные и заемные средства, оборотные средства, условно-постоянные и переменные расходы, бухгалтерский баланс и т.д. и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2014, 19:53 |
|
||
|
Где искать код реализованных ранее библиотечных функций ?
|
|||
|---|---|---|---|
|
#18+
Dima TWhite OwlА во вторых, ассемблер знать надо. Причем в обоих вариантах - CISC и RISC. Если так, то дополнительно не помешает узнать что такое собственные и заемные средства, оборотные средства, условно-постоянные и переменные расходы, бухгалтерский баланс и т.д. и т.п.Ну если тебе лень заниматься ассемблером, то это твое дело. Никто не заставляет. Другое дело что ключик компилятора -S тебе будет бесполезен и на любой вопрос об оптимизации кода ты сможешь только развести руками. Да и работа с памятью у тебя останется на уровне шаманства. Но... худо-бедно писать сможешь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2014, 20:12 |
|
||
|
Где искать код реализованных ранее библиотечных функций ?
|
|||
|---|---|---|---|
|
#18+
White OwlНу если тебе лень заниматься ассемблером, то это твое дело. Никто не заставляет. я им плотно занимался на Z80 в студенчестве, на x86 не довелось. ИМХУ это желательное но необязательное знание. White OwlДругое дело что ключик компилятора -S тебе будет бесполезен и на любой вопрос об оптимизации кода ты сможешь только развести руками. Да и работа с памятью у тебя останется на уровне шаманства. Но... худо-бедно писать сможешь... Если честно про ключик -S даже не знаю. Худо-бедно пишу, а знание того что выше перечислил очень помогает делать это очень доходно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2014, 20:30 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38620955&tid=2019516]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
77ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 289ms |
| total: | 463ms |

| 0 / 0 |
