Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Вырезать часть кода из проекта и перенести в новый
|
|||
|---|---|---|---|
|
#18+
Есть большой проект Dll с сотнями экспортируемых функций. Но мне для работы нужно только десяток. Хочу вырезать их и перенести в новый проект dll. Существует ли какой-то инструмент, который позволяет отследить связи от экспортируемых функций, до всех которые они используют в работе. Или тут только полное изучение работы проекта и ручной перенос кода? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2015, 11:53 |
|
||
|
Вырезать часть кода из проекта и перенести в новый
|
|||
|---|---|---|---|
|
#18+
Вырезаешь экспортируемые, делаешь новый проект, компилируешь, получаешь список не найденных символов, находишь и копируешь и их тоже, повторяешь пока не соберётся. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2015, 12:09 |
|
||
|
Вырезать часть кода из проекта и перенести в новый
|
|||
|---|---|---|---|
|
#18+
Инструменты существуют, но а) цены на них далеки от гуманных, б) анализ связей - лишь малая часть их функционала. Примеры - Understand от scitools или АИСТ от ЦБИ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2015, 12:26 |
|
||
|
Вырезать часть кода из проекта и перенести в новый
|
|||
|---|---|---|---|
|
#18+
Ну можно карты сборки линкера вывести, там будут для каждого модуля импорты и экспорты. Взять импорты всех модулей-клиентов и объединить в единый список, потом по этому списку извлекать код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2015, 13:15 |
|
||
|
Вырезать часть кода из проекта и перенести в новый
|
|||
|---|---|---|---|
|
#18+
EoltЕсть большой проект Dll с сотнями экспортируемых функций. Но мне для работы нужно только десяток. Хочу вырезать их и перенести в новый проект dll. А в чём проблема использовать DLL целиком, в том виде, как он есть ? "Хочу" -- это не техническая формулировка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2015, 13:17 |
|
||
|
Вырезать часть кода из проекта и перенести в новый
|
|||
|---|---|---|---|
|
#18+
имхо правильное решение - переработать проект, разделив его на несколько несвязанных библиотек. проблема от того, что нарушен single responsibility - билиотека отвечает за несколько областей. также. если не понятно, какие функции использует код... это запшок . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2015, 14:38 |
|
||
|
Вырезать часть кода из проекта и перенести в новый
|
|||
|---|---|---|---|
|
#18+
EoltЕсть большой проект Dll с сотнями экспортируемых функций. Но мне для работы нужно только десяток. Хочу вырезать их и перенести в новый проект dll. Существует ли какой-то инструмент, который позволяет отследить связи от экспортируемых функций, до всех которые они используют в работе. Или тут только полное изучение работы проекта и ручной перенос кода? Нужет тест который дёрнет десяток твоих функций и подтвердит что они работают в полной мере в новом проекте. Все умные инструменты по рефакторингу и extract method/procedure не гарантируют того что имплементация перенесена успешно. Мир сложен и чуден и бывают всякие поздние варианты связывания, плагины и прочие ленивые механизмы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2015, 15:58 |
|
||
|
Вырезать часть кода из проекта и перенести в новый
|
|||
|---|---|---|---|
|
#18+
MasterZivА в чём проблема использовать DLL целиком, в том виде, как он есть ? "Хочу" -- это не техническая формулировка. Большой размер библиотеки, совершенно излишне таскать с собой мегабайты мертвого кода ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2015, 19:34 |
|
||
|
Вырезать часть кода из проекта и перенести в новый
|
|||
|---|---|---|---|
|
#18+
EoltБольшой размер библиотеки Сколько гигабайт? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2015, 19:38 |
|
||
|
Вырезать часть кода из проекта и перенести в новый
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovСколько гигабайт? Более 5 мегабайт в виде скомпилированной DLL. Программа ее использующая весит около 70 кб в экзешнике. 99% функций в DLL мне не нужны. Внутренний перфикционист протестует против такого расхода ресурсов. Программа лучше будет выглядеть 70 кб EXE + (50-100 кб DLL) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2015, 19:44 |
|
||
|
Вырезать часть кода из проекта и перенести в новый
|
|||
|---|---|---|---|
|
#18+
Eoltпротив такого расхода ресурсов Каких ресурсов? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2015, 19:49 |
|
||
|
Вырезать часть кода из проекта и перенести в новый
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovКаких ресурсов? Дисковое пространство и оперативной памяти ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2015, 19:51 |
|
||
|
Вырезать часть кода из проекта и перенести в новый
|
|||
|---|---|---|---|
|
#18+
EoltДисковое пространство и оперативной памяти Оперативная память мёртвым кодом не занимается. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2015, 19:53 |
|
||
|
Вырезать часть кода из проекта и перенести в новый
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovОперативная память мёртвым кодом не занимается. Занимается. Когда EXE подгружает эту DLL через LoadLibrary, она целиком отображается на адресное пространство моего процесса. 99% кода мне не нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2015, 19:58 |
|
||
|
Вырезать часть кода из проекта и перенести в новый
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovEoltДисковое пространство и оперативной памяти Оперативная память мёртвым кодом не занимается. Инициатива по рефакторингу мёртвого кода - вполне себе похвальна. Тут может быть дело даже не столько в факте мёртвого кода сколько в усилиях по его поддержке со стороны разработки. Так или иначе сорцы требуют периодического просмотра глазами, участия в цикле компилляции e.t.c. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2015, 20:03 |
|
||
|
Вырезать часть кода из проекта и перенести в новый
|
|||
|---|---|---|---|
|
#18+
Eoltона целиком отображается на адресное пространство моего процесса На виртуальное адресное пространство. В физическую память код попадёт только когда начнёт выполняться. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2015, 20:21 |
|
||
|
Вырезать часть кода из проекта и перенести в новый
|
|||
|---|---|---|---|
|
#18+
EoltMasterZivА в чём проблема использовать DLL целиком, в том виде, как он есть ? "Хочу" -- это не техническая формулировка. Большой размер библиотеки, совершенно излишне таскать с собой мегабайты мертвого кода Глупость. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2015, 10:23 |
|
||
|
Вырезать часть кода из проекта и перенести в новый
|
|||
|---|---|---|---|
|
#18+
EoltDimitry SibiryakovОперативная память мёртвым кодом не занимается. Занимается. Когда EXE подгружает эту DLL через LoadLibrary, она целиком отображается на адресное пространство моего процесса. 99% кода мне не нужно. Отображается -- не значит загружается и использует память. Dimitry Sibiryakov тебе правильно говорит. Ты занимаешься фигнёй. Единственное оправдание таким действиям -- отсутствие занятости и/или обучение/накопление опыта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2015, 10:26 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=39089250&tid=2018783]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
162ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 290ms |
| total: | 561ms |

| 0 / 0 |
