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

Есть ли способ просмотреть код библиотечных функций? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
Bredorub
4 / 4 / 0
Регистрация: 16.01.2011
Сообщений: 90
24.02.2012, 22:48     Есть ли способ просмотреть код библиотечных функций? #1
Жутко хочется посмотреть, как устроена, скажем, функция gotoxy из conio.h. Но в заголовочном файле бесконечные отсылки к разным файлам и какая-то малопонятная несусветная околесица, разбираться в которой было бы для меня непосильной задачей. И вообще, если я не ошибаюсь, библиотечные функции изначально скомпилированы в готовые файлы. Но если судить по логике вещей, раз что-то можно скомпилировать, то почему же должна отсутствовать возможность "раскомпилировать" это? Ну или хотя бы просто посмотреть где-то еще... Кто-нибудь из присутствующих знает, как получить исходный код из библиотечных файлов? Или где-нибудь каталог библиотечных функций с их кодом есть?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.02.2012, 22:48     Есть ли способ просмотреть код библиотечных функций?
Посмотрите здесь:

Использование библиотечных функций string.h C++
C++ Найти количество слов в строке с использованием библиотечных функций string.h
C++ Работа со строкой без библиотечных функций
Итерационные циклы,Определение и вызов функций,Использование библиотечных функций stdio.h C++
Не применяя библиотечных функций, напишите код функции C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
24.02.2012, 22:50     Есть ли способ просмотреть код библиотечных функций? #2
Цитата Сообщение от Bredorub Посмотреть сообщение
Но если судить по логике вещей, раз что-то можно скомпилировать, то почему же должна отсутствовать возможность "раскомпилировать" это?
если судить по этой логике, то если можно получить md5 хеш из файла, то почему нельзя получить файл из md5 хеша?

из скомпилированной библиотеки осмысленного кода не получить
если она написана не на c# или java
Nick Alte
Эксперт С++
1561 / 982 / 115
Регистрация: 27.09.2009
Сообщений: 1,897
Завершенные тесты: 1
24.02.2012, 22:55     Есть ли способ просмотреть код библиотечных функций? #3
Многие среды разработки (Microsoft Visual Studio в том числе) поставляются с исходным кодом стандартных библиотек.
ШКІПЕР
 Аватар для ШКІПЕР
93 / 93 / 7
Регистрация: 14.04.2010
Сообщений: 280
Записей в блоге: 9
Завершенные тесты: 1
24.02.2012, 23:09     Есть ли способ просмотреть код библиотечных функций? #4
Цитата Сообщение от Bredorub Посмотреть сообщение
Ну или хотя бы просто посмотреть где-то еще...
Есть на самом деле очень даже рабочий способ, рецепт прост как двери: попросить в Microsoft-а
SergProgC++
Эксперт GPSS
 Аватар для SergProgC++
314 / 316 / 59
Регистрация: 02.07.2010
Сообщений: 1,315
24.02.2012, 23:36     Есть ли способ просмотреть код библиотечных функций? #5
Думаю что Страуструп должен знать, как они реализуются, может ему написать. А если серьезно думаю в литературе можно найти ответ
Bredorub
4 / 4 / 0
Регистрация: 16.01.2011
Сообщений: 90
25.02.2012, 06:34  [ТС]     Есть ли способ просмотреть код библиотечных функций? #6
Цитата Сообщение от alex_x_x Посмотреть сообщение
сли судить по этой логике, то если можно получить md5 хеш из файла, то почему нельзя получить файл из md5 хеша?
быть может, просто никто пока над такой возможностью всерьез не задумывался?..
Kastaneda
25.02.2012, 08:14
  #7

Не по теме:

Цитата Сообщение от Bredorub Посмотреть сообщение
быть может, просто никто пока над такой возможностью всерьез не задумывался?..
Когда-то понадобилось разобрать с md5, много читал по этой теме, в общем несколько лет назад какой-то японский ученый восстановил таки данные по md5 хешу, на это у него ушло 2 года!

По поводу сабжа - есть способ! Пишешь письмо в битву экстрасенсов, придумываешь слезную причину, почему тебе просто необходимо узнать как реализованы закрытые библиотеки, к тебе приезжают несколько человек с бубнами и свечками и, войдя в транс, продиктуют исходный код на С.

diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
25.02.2012, 08:27     Есть ли способ просмотреть код библиотечных функций? #8
Цитата Сообщение от alex_x_x Посмотреть сообщение
если судить по этой логике, то если можно получить md5 хеш из файла, то почему нельзя получить файл из md5 хеша?

Не по теме:

с хабра

Mezomish:
Вот пароль от архива с секретной перепиской Новодворской, Ким Чен Ира и Чака Норриса с планами захвата власти в России и США и присоединения их к Северной Корее в качестве Восточной и Западной провинций:

XfrYjhhbcDct[Gj,tlbn

Я требую 10 миллионов долларов и самолёт до Гондураса, иначе выложу сам архив

spiritedflow:
Сейчас я брутфорсом подберу архив под ваш пароль...
(с) баш

silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
25.02.2012, 17:24     Есть ли способ просмотреть код библиотечных функций? #9
 Комментарий модератора 
2All: заканчиваем оффтоп!


Цитата Сообщение от Bredorub Посмотреть сообщение
быть может, просто никто пока над такой возможностью всерьез не задумывался?..
Ой, да не смешите.
Стандартная библиотека С - проект с открытым исходным кодом. Гуглите glibc - и будьте счастливы.
Кстати, conio.h никакого отношения к стандартной библиотеке не имеет.
Bredorub
4 / 4 / 0
Регистрация: 16.01.2011
Сообщений: 90
25.02.2012, 21:27  [ТС]     Есть ли способ просмотреть код библиотечных функций? #10
Цитата Сообщение от silent_1991 Посмотреть сообщение
conio.h никакого отношения к стандартной библиотеке не имеет
А к чему имеет?
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
25.02.2012, 21:33     Есть ли способ просмотреть код библиотечных функций? #11
Bredorub, очевидно, к нестандартным разработкам.
http://ru.wikipedia.org/wiki/Conio.h
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.02.2012, 22:04     Есть ли способ просмотреть код библиотечных функций?
Еще ссылки по теме:

БЕЗ использования библиотечных функций C++
C++ Действия над строками char с использованием библиотечных функций и без них
Строки и использование библиотечных функций для их обработки C++

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

Или воспользуйтесь поиском по форуму:
Питекантроп
 Аватар для Питекантроп
246 / 140 / 6
Регистрация: 14.06.2010
Сообщений: 340
25.02.2012, 22:04     Есть ли способ просмотреть код библиотечных функций? #12
в винде большинство функций сводятся к вызову winapi-функций. Если просмотреть дизассемблированный код, то это видно.
Т.е., например, gotoxy(10,10) сводится к
C++
1
2
3
4
5
6
7
8
#include "windows.h"
 
....
        _COORD C;
        C.X = 10;
        C.Y = 10;
        HANDLE h = GetStdHandle(STD_OUTPUT_HANDLE);
        if (h) SetConsoleCursorPosition(h,C);
Код SetConsoleCursorPosition (из kernel32.dll) можно просмотреть только дизассемблированный.
Yandex
Объявления
25.02.2012, 22:04     Есть ли способ просмотреть код библиотечных функций?
Ответ Создать тему
Опции темы

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