Тулза для извлечения полезного кода из существующих исходников
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Тулза для извлечения полезного кода из существующих исходников - 2011-08-08 10:55:16.890000
|
|
|
mavok
Сообщений: 31
Оценки: 0
Присоединился: 2011-08-08 10:52:34.890000
|
Всем доброго времени суток! Есть исходники некоторой библиотеки, написанной на языке С, и есть необходимость использовать около 5% её экспортируемых объявлений. Необходимо извлечь весь код из библиотеки, который реализует эти 5%. Есть ли какие либо тулзы позволяющие это сделать? Спасибо за внимание.
|
|
|
RE: Тулза для извлечения полезного кода из существующих исходников - 2011-08-08 10:57:22.646666
|
|
|
Flint_ta
Сообщений: 3720
Оценки: 1120
Присоединился: 2007-01-26 15:49:18.323333
|
А скопипастить то что нужно не вариант?
|
|
|
RE: Тулза для извлечения полезного кода из существующих исходников - 2011-08-08 10:58:36.483333
|
|
|
mavok
Сообщений: 31
Оценки: 0
Присоединился: 2011-08-08 10:52:34.890000
|
В этом и проблема, что нужно искать по всему коду все зависимости нужного объявления. Интересует тулза которая делала бы это автоматом.
|
|
|
RE: Тулза для извлечения полезного кода из существующих исходников - 2011-08-08 13:26:02.813333
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Step-by-step debug -> Profit! Имхо, в коммерческих проектах проще таскать библиотеку с собой, даже ради 5% функций. Нет никакого смысла, а тем более технической возможности (мало ли что там намудрили с неэкспортируемыми функциями, которые юзаются только внутри библиотеки) определить по исходникам что и где используется, чтобы выдрать какой-то функционал. Хотя тот же буст написан грамотно и там получается выдирать отдельные файлы, чтобы не таскать весь буст с собой. З.Ы. для managed кода такую тулзу вполне можно написать, но опять же - её оправданность очень сомнительна.
|
|
|
RE: Тулза для извлечения полезного кода из существующих исходников - 2011-08-08 13:54:59.563333
|
|
|
mavok
Сообщений: 31
Оценки: 0
Присоединился: 2011-08-08 10:52:34.890000
|
Оправданность есть, когда нужно сертифицировать прогу и от размера её исходников меняется стоимость сертификации. Вообщем все случаи, когда важен размер исходников и самой проги. И вообще, я вот например очень не люблю наличие лишнего кода в программе. Наверное придеться самому такую программу писать. Может обсудим алгоритм работы такой проги?
|
|
|
RE: Тулза для извлечения полезного кода из существующих исходников - 2011-08-08 14:25:32.040000
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Что ты понимаешь под "лишним кодом"? Написание качественных велосипедов вместо использования готовых библиотек - как правило, непозволительная роскошь. Я не осведомлён о процессах сертификации ПО, но неужели нужно предоставлять исходный код? Я как-то сильно в этом сомневаюсь. Он ведь может составлять коммерческую тайну. Как вариант - можно использовать заранее сертифицированную библиотеку… Хотел бы я посмотреть на отечественных специалистов, которые занимались сертификацией компиляторов и библиотек типа qt или boost. Ведь, как я понимаю, сертифицированная программа должна быть скомпилирована сертифицированным компилятором :) Ты прав, давай лучше обсудим прогу.
|
|
|
RE: Тулза для извлечения полезного кода из существующих исходников - 2011-08-08 14:51:26.550000
|
|
|
mavok
Сообщений: 31
Оценки: 0
Присоединился: 2011-08-08 10:52:34.890000
|
quote:
ORIGINAL: _SaZ_ Написание качественных велосипедов вместо использования готовых библиотек - как правило, непозволительная роскошь. Так вот я и не хочу писать велосипед, а взять исходники, но только те, что мне нужны. quote:
Я не осведомлён о процессах сертификации ПО, но неужели нужно предоставлять исходный код? Я как-то сильно в этом сомневаюсь. Он ведь может составлять коммерческую тайну. Как вариант - можно использовать заранее сертифицированную библиотеку… Хотел бы я посмотреть на отечественных специалистов, которые занимались сертификацией компиляторов и библиотек типа qt или boost. Ведь, как я понимаю, сертифицированная программа должна быть скомпилирована сертифицированным компилятором :) Ага, исходный код нужен. Qt и boost тоже проходят сертификацию каждая версия отдельно. Т.е. ты можешь заказать сертификацию последней версии Qt, но стоить это будет немеренно. quote:
Ты прав, давай лучше обсудим прогу. Задаем набор исходников, задаем кусок кода (текст функции например) который нужно вычленить. Программа смотрит набор функций который в неё входят и ищет их в ноборе исходников. Если находит рекурсивно делает тоже самое. Вот с макросами тут засада. Как вариант сначала ищем все макро в исходниках и смотрим нет ли их в просматриваемом тексте. Если есть, то ищем зависимости этого макроса внутри исходников. В итоге получаем набор урезанных файлов где содержиться только нужный нам код. Что-то мне подсказывает что в таком алгоритме могут возникать петли.
|
|
|
RE: Тулза для извлечения полезного кода из существующих исходников - 2011-08-08 15:01:28.710000
|
|
|
mavok
Сообщений: 31
Оценки: 0
Присоединился: 2011-08-08 10:52:34.890000
|
Кстати, возникла идея с макросами. Данную тулзу разбить на два этапа. 1. В том месте, где define вставляет код, вставляем его туда мы сами. Получаем модифицированные исходники без define содержащих код. 2. Эти исходники уже анализируем и ищем функции входящие в состав анализируемого участка кода. Как идея?
|
|
|
RE: Тулза для извлечения полезного кода из существующих исходников - 2011-08-08 19:40:47.833333
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Я думал обсудим прогу, которую ты сертифицировать собрался. Скомпилируй либу, и скажи, что она уже шла готовой :) По теме - немного погуглив я так и не нашёл ни в одном порядке сертифицирования пункта о том, что должна вестись проверка исходников. И опять же - какие библиотеки ты используешь в своей проге и с помощью каких библиотек сделан UI, (Надеюсь, не на голом WinAPI =) и прошли ли они сертификацию? З.Ы. написать прогу, которую ты хочешь не сильно легче, чем написать свой компилятор / профайлер. Нормально с такой задачей я не справлюсь. Да и времени уйдёт куда больше, чем перелопатить всю библиотеку вручную. Если будешь писать - сразу учти, что есть макросы, рекурсия и указатели на функции. Хотя тебе очень повезло, что библиотека написана на Си, а не на С++.
|
|
|
RE: Тулза для извлечения полезного кода из существующих исходников - 2011-08-08 22:19:34.040000
|
|
|
mavok
Сообщений: 31
Оценки: 0
Присоединился: 2011-08-08 10:52:34.890000
|
quote:
ORIGINAL: _SaZ_ Я думал обсудим прогу, которую ты сертифицировать собрался. Скомпилируй либу, и скажи, что она уже шла готовой :) Блин, а я обрадовался! :( quote:
По теме - немного погуглив я так и не нашёл ни в одном порядке сертифицирования пункта о том, что должна вестись проверка исходников. И опять же - какие библиотеки ты используешь в своей проге и с помощью каких библиотек сделан UI, (Надеюсь, не на голом WinAPI =) и прошли ли они сертификацию? Смотри здесь например: http://wikisec.ru/index.php?title=%D0%A2%D1%80%D0%B5%D0%B1%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%BA_4_%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D1%8E_%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D1%8F_%D0%BE%D1%82%D1%81%D1%83%D1%82%D1%81%D1%82%D0%B2%D0%B8%D1%8F_%D0%9D%D0%94%D0%92#.D0.98.D1.81.D1.85.D0.BE.D0.B4.D0.BD.D1.8B.D0.B5_.D1.82.D0.B5.D0.BA.D1.81.D1.82.D1.8B_.D0.9F.D0.9E quote:
З.Ы. написать прогу, которую ты хочешь не сильно легче, чем написать свой компилятор / профайлер. Нормально с такой задачей я не справлюсь. Да и времени уйдёт куда больше, чем перелопатить всю библиотеку вручную. Если будешь писать - сразу учти, что есть макросы, рекурсия и указатели на функции. Хотя тебе очень повезло, что библиотека написана на Си, а не на С++. Да, про рекурсию забыл, но защиту поставить не проблема от нее. Понятно что времени уйдет много, но зато решение на потом, часто же исходники разбираешь.
|
|
|
RE: Тулза для извлечения полезного кода из существующих исходников - 2011-08-08 22:22:22.926666
|
|
|
mavok
Сообщений: 31
Оценки: 0
Присоединился: 2011-08-08 10:52:34.890000
|
Блин, чо линк нормально не вставляется?
|
|
|
RE: Тулза для извлечения полезного кода из существующих исходников - 2011-08-08 23:09:16.360000
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Используй библиотеку как стороннюю. Там не сказано, что надо код сторонних библиотек сертифицировать.
|
|
|
RE: Тулза для извлечения полезного кода из существующих исходников - 2011-08-09 09:06:52.106666
|
|
|
mavok
Сообщений: 31
Оценки: 0
Присоединился: 2011-08-08 10:52:34.890000
|
quote:
ORIGINAL: _SaZ_ Используй библиотеку как стороннюю. Там не сказано, что надо код сторонних библиотек сертифицировать. Но я то знаю что нужно! :( Весь код, необходимо сертифицировать. Если код сторонних библиотек закрыт, то использовать его нельзя.
|
|
|
RE: Тулза для извлечения полезного кода из существующих исходников - 2011-08-09 12:54:48.716666
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Ну так открой, если он у тебя есть :)
|
|
|
RE: Тулза для извлечения полезного кода из существующих исходников - 2011-08-09 13:00:19.766666
|
|
|
mavok
Сообщений: 31
Оценки: 0
Присоединился: 2011-08-08 10:52:34.890000
|
Не-не-не-не-не, Дэвид Блэйн! Да нечего открывать. Просто часто роюсь с исходниками, решил вот автоматизировать процесс вычленения нужного кода.
|
|
|
|
|