|
Как при компиляции "удалить из exe-шника" декларированные, но не используемые API?
|
|||
---|---|---|---|
#18+
Пример. Я подключил к проекту модуль, в котором задекларированы 100 штук API. Код вызывает только 2 из них. Как сделать так чтоб exe не содержал намеков на все 100? Обычно достаточно зайти туда как в текст и поиском найти названия. Просто если раньше я старался декларировать только необходимое, то сейчас я подключаю "общие модули". Проблемы вижу такие: 1) Увеличенное время компиляции (ну это ладно, был бы на выходе продукт хороший). 2) Некоторое увеличение размера файла (но это тоже ладно, не очень сильно). На скорость и качество исполнения вроде не влияет. Но я 3) нарвался на проблему увеличения вероятности False Alarm со стороны известных антивирусов, в частности авиры. Твари частенько смотрят просто на "декларации" функций, нафига давать лишний повод. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2014, 13:16 |
|
Как при компиляции "удалить из exe-шника" декларированные, но не используемые API?
|
|||
---|---|---|---|
#18+
Че, такой тяжелый вопрос задал? У меня возникло ощущение, что отвязать, не вычеркивая декларации не получается. Старался, компоновал в модули (и это удобно), чтоб потом каждый раз коцать? Не, ну м.б. есть какие-то настройки проекта (то чего в Project ->Properties -> Compile походу бесполезно и лучше дефолт не портить) или директивы компилятору типа # ? А интересно, в C++ тоже каждый exe-шник всю MSDN в себе содержит согласно include <.h>? Непохоже. Но C++ -проекты обычно ОЧЕНЬ долго компилируются в отличии от VB-шных. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2014, 19:31 |
|
Как при компиляции "удалить из exe-шника" декларированные, но не используемые API?
|
|||
---|---|---|---|
#18+
вроде какое-то расширение было, умеющее это делать. жирное такое расширение с кучей функций, название забыл. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2014, 20:08 |
|
Как при компиляции "удалить из exe-шника" декларированные, но не используемые API?
|
|||
---|---|---|---|
#18+
Antonariy, Обнадежил. Расширение чего? Add-in? Tool? 3rd party? Теоретически, здесь задумаешься о "программы пишущие программы", но даже такой Tool который например просмотрит готовый проект и вычеркнет лишнее принесет много гемороя, например при модернизации проекта. Надо чтоб это делалось именно в процессе компиляции, не затрагивая файлы проекта. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2014, 21:03 |
|
Как при компиляции "удалить из exe-шника" декларированные, но не используемые API?
|
|||
---|---|---|---|
#18+
Add-in, расширение среды. Но он просто чистил или комментил исходник, а не вмешивался в работу компилятора. В процессе компиляции это сделать нереально, компилятор это утилита командной строки, которая имеет ограниченный набор параметров, и "удалять неиспользуемые декларации" среди них нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2014, 23:37 |
|
Как при компиляции "удалить из exe-шника" декларированные, но не используемые API?
|
|||
---|---|---|---|
#18+
AntonariyНо он просто чистил или комментил исходник, а не вмешивался в работу компилятора. Не, так нельзя. Исходники модулей - общие, я их подключаю из общей папки. Если в ЭТОМ проекте используются 2 из 98 ф-ций, то это не значит что остальные нигде не используются. Я довольно много вложил сил в эту "систему". Если только придумать что-то, что делает "копию". Пока забью наверно, раз так все сложно. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2014, 07:23 |
|
|
start [/forum/topic.php?fid=60&msg=38678028&tid=2156297]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
153ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 317ms |
total: | 547ms |
0 / 0 |