|  | 
| 
Как при компиляции "удалить из 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&gotonew=1&tid=2156297]: | 0ms | 
| get settings: | 10ms | 
| get forum list: | 14ms | 
| check forum access: | 4ms | 
| check topic access: | 4ms | 
| track hit: | 25ms | 
| get topic data: | 10ms | 
| get first new msg: | 7ms | 
| get forum data: | 2ms | 
| get page messages: | 51ms | 
| get tp. blocked users: | 1ms | 
| others: | 14ms | 
| total: | 142ms | 

| 0 / 0 | 
