|
|
|
Как проредить исходники от неиспользуемых файлов?
|
|||
|---|---|---|---|
|
#18+
Вообразим следующую ситуацию: есть проект, при разработке которого используется кучи библиотек (как сторонних, так и унаследованных) в виде исходников. (Как пример - boost, STLPort, CommonCPP, Loki, впишите что хотите.) И, скажем, надо эти исходники кому-то передать, да чтобы было их поменьше. Скажем, для аудита. И чтобы бедным аудиторам задачу облегчить (а себе заодно кучу денег сэкономить), есть желание объем исходников подсократить, за счет удаления неиспользуемых файлов. Автоматически. Ну вот не нужен мне в бусте никто кроме shared_ptr, а контейнеров кроме vector из STLport я не использую - так поудаляю всё кроме них. С помощью каких инструментов это сделать можно? Ибо ручками - умрёшь. Гугл ответа с наскоку не дал. :( Т.е. средства для VB, скажем, подобные вроде есть, а вот для C++ - не обнаружил пока. Если решать задачу на уровне отсекания не включаемых файлов - то её можно в принципе решить и самостоятельно (хотя хочется, естественно, готового). Но это не будет в должной степени эффективно. Ибо включаться-то какой-то заголовок допустим может, но из него может не использоваться ничего. А если поставить задачу вырезать невызываемые функции и пр. - козлёночком станешь, пока решишь. У кого какие идеи по решению такой задачи есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2007, 21:18:21 |
|
||
|
Как проредить исходники от неиспользуемых файлов?
|
|||
|---|---|---|---|
|
#18+
Жаль я не твой аудитор, я бы тебе за такие фокусы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2007, 22:20:10 |
|
||
|
Как проредить исходники от неиспользуемых файлов?
|
|||
|---|---|---|---|
|
#18+
Дык, дело в том что некоторые библиотеки имеют волшебный файл mega_lib.h, в который включаются все хедеры библиотеки. Если бы не это - то вооружившись бы ломом (perl, скажем) и какой-то матерью я бы всё подчистил в течении короткого времени. А кромсать исходники "изнутри" - это мне представляется гемороем. :( А аудиторы тоже люди. Им в течении константного времени необходимо выполнить некоторый, ничем в принципе не ограниченный объем работ. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2007, 02:42:41 |
|
||
|
Как проредить исходники от неиспользуемых файлов?
|
|||
|---|---|---|---|
|
#18+
Так в том-то и дело. Взял стандартную библиотеку, в нужной версии, убедился что в ней все ок, а потом взял твой софт, напустил diff и посмотрел чем отличается. А так что делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2007, 10:00:06 |
|
||
|
Как проредить исходники от неиспользуемых файлов?
|
|||
|---|---|---|---|
|
#18+
Ну во первых, библиотек некоторое большое множество. И версий у них - соответственно ещё больше. Все анализировать - помрёшь. А во вторых в библиотеке может быть "всё в порядке" только если её использовать правильно. Так что анализировать всё равно нужно всё целиком. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2007, 13:23:31 |
|
||
|
Как проредить исходники от неиспользуемых файлов?
|
|||
|---|---|---|---|
|
#18+
Ну не такое уж и большое, десятка полтора широко используемых. Версии - все в сети под CVS/Можно вытянуть, узнать какие отличия, процесс вполне автоматизированный. Посмотреть и убедиться что вы там закладок не понавставляли - при умелом использовании соотв средств- полдня. А уж с вашим кодом надо разбираться. А так придется разбираться и с вашим кодом и со всеми библиотеками которые вы урезали.модифицировали ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2007, 13:52:50 |
|
||
|
Как проредить исходники от неиспользуемых файлов?
|
|||
|---|---|---|---|
|
#18+
Amdei пишет: > Вообразим следующую ситуацию: есть проект, при разработке которого > используется кучи библиотек (как сторонних, так и унаследованных) в виде > исходников. (Как пример - boost, STLPort, CommonCPP, Loki, впишите что > хотите.) > > И, скажем, надо эти исходники кому-то передать, да чтобы было их поменьше. > Скажем, для аудита. И чтобы бедным аудиторам задачу облегчить (а себе > заодно кучу денег сэкономить), есть желание объем исходников > подсократить, за счет удаления неиспользуемых файлов. > Автоматически. > Ну вот не нужен мне в бусте никто кроме shared_ptr, а контейнеров кроме > vector из STLport я не использую - так поудаляю всё кроме них. > А ты стронние библиотеки вообще им не передавай. Пусть их от поставщика аудируют. Напиши лишь, что "наша программа требует Boost версии такой-то или выше, Loki версии такой-то" и т.д Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2007, 17:03:13 |
|
||
|
Как проредить исходники от неиспользуемых файлов?
|
|||
|---|---|---|---|
|
#18+
blindedА так придется разбираться и с вашим кодом и со всеми библиотеками которые вы урезали.модифицировали А с ними и так придётся разбираться. Даже не с ними, а с тем, как они используются в данном конкретном случае. Тем более я слабо представляю аудитора, который имеет в загашнике полтора десятка изученных "широко распространённых" библиотек. Т.е. наверняка опыт кой-какой имеется. Но что делать с либами, разработанными самостоятельно? :( MasterZivА ты сторонние библиотеки вообще им не передавай. Пусть их от поставщика аудируют. Напиши лишь, что "наша программа требует Boost версии такой-то или выше, Loki версии такой-то" и т.д От таких манипуляций (особенно с "и выше") "наша" программа почти наверняка перестанет компилироваться. :) Возникла конечно идея воспользоваться профайлером и посмотреть чего на самом деле используется... Но блин, обеспечить 100% покрытие кода тестами - это еще та задача... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2007, 02:06:03 |
|
||
|
Как проредить исходники от неиспользуемых файлов?
|
|||
|---|---|---|---|
|
#18+
Amdei blindedА так придется разбираться и с вашим кодом и со всеми библиотеками которые вы урезали.модифицировали А с ними и так придётся разбираться. Даже не с ними, а с тем, как они используются в данном конкретном случае. Тем более я слабо представляю аудитора, который имеет в загашнике полтора десятка изученных "широко распространённых" библиотек. Т.е. наверняка опыт кой-какой имеется. Исключительно проблема квалификации аудиторов. Чтобы контролировать, особенно на предмет безопасности, надо квалификацию иметь, гораздо выше разработчиков и быть в курсе последних новшеств Amdei Но что делать с либами, разработанными самостоятельно? :( А зачем их портить? Чтобы потом поиметь кучу проблем с исправление ошибок и переходом от ветрсии в версии библиотеки. По мне так чем меньше параллельных веток - тем лучше.... Amdei MasterZivА ты сторонние библиотеки вообще им не передавай. Пусть их от поставщика аудируют. Напиши лишь, что "наша программа требует Boost версии такой-то или выше, Loki версии такой-то" и т.д От таких манипуляций (особенно с "и выше") "наша" программа почти наверняка перестанет компилироваться. :) Ну зачем же хакать все подряд? Сами себе могилу роете? Amdei Возникла конечно идея воспользоваться профайлером и посмотреть чего на самом деле используется... Но блин, обеспечить 100% покрытие кода тестами - это еще та задача... Так в том-то и дело, что все сторонние библиотеки имеют как правило набор тестов. Как только вы начинаетет обрезать лишнее, придется и с их тестами разбираться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2007, 19:04:54 |
|
||
|
Как проредить исходники от неиспользуемых файлов?
|
|||
|---|---|---|---|
|
#18+
AmdeiВообразим следующую ситуацию: есть проект, при разработке которого используется кучи библиотек (как сторонних, так и унаследованных) в виде исходников. (Как пример - boost, STLPort, CommonCPP, Loki, впишите что хотите.) И, скажем, надо эти исходники кому-то передать, да чтобы было их поменьше. Скажем, для аудита. И чтобы бедным аудиторам задачу облегчить (а себе заодно кучу денег сэкономить), есть желание объем исходников подсократить, за счет удаления неиспользуемых файлов. Автоматически. Ну вот не нужен мне в бусте никто кроме shared_ptr, а контейнеров кроме vector из STLport я не использую - так поудаляю всё кроме них. С помощью каких инструментов это сделать можно? Ибо ручками - умрёшь. Гугл ответа с наскоку не дал. :( Т.е. средства для VB, скажем, подобные вроде есть, а вот для C++ - не обнаружил пока. Если решать задачу на уровне отсекания не включаемых файлов - то её можно в принципе решить и самостоятельно (хотя хочется, естественно, готового). Но это не будет в должной степени эффективно. Ибо включаться-то какой-то заголовок допустим может, но из него может не использоваться ничего. А если поставить задачу вырезать невызываемые функции и пр. - козлёночком станешь, пока решишь. У кого какие идеи по решению такой задачи есть? Возми за основу шаблоны shared_ptr и vector и написи свои велосипеды. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2007, 09:36:41 |
|
||
|
Как проредить исходники от неиспользуемых файлов?
|
|||
|---|---|---|---|
|
#18+
А, я понял, это тут клуб велосипедистов :) Мне кажется что стандартные велосипеды получше будут, чем самодельные! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2007, 10:14:54 |
|
||
|
Как проредить исходники от неиспользуемых файлов?
|
|||
|---|---|---|---|
|
#18+
XDiaBLoА, я понял, это тут клуб велосипедистов :) По твоему лучше кромсать stl и boost, и тащить за собой десятки файлов? XDiaBLoМне кажется что стандартные велосипеды получше будут, чем самодельные! Ну, чем же они будут лучше копи/паста с некоторой специализацией, молодой человек? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2007, 10:21:26 |
|
||
|
Как проредить исходники от неиспользуемых файлов?
|
|||
|---|---|---|---|
|
#18+
А вас не учили что копи-паст это плохо, и ООП существует вовсе не для копирования кода, а для использования существующего? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2007, 12:37:12 |
|
||
|
Как проредить исходники от неиспользуемых файлов?
|
|||
|---|---|---|---|
|
#18+
XDiaBLoА вас не учили что копи-паст это плохо, и ООП существует вовсе не для копирования кода, а для использования существующего? Таскать за собой и портить систему обрезанными stl и boostoм более накладно и менее удобно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2007, 13:00:40 |
|
||
|
Как проредить исходники от неиспользуемых файлов?
|
|||
|---|---|---|---|
|
#18+
Так ему и говорят что обрезать не надо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2007, 13:28:04 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=34900091&tid=2027913]: |
0ms |
get settings: |
11ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
57ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
2ms |
| others: | 254ms |
| total: | 389ms |

| 0 / 0 |
