Программа вроде smartassembly, но для C ++? - PullRequest
1 голос
/ 25 февраля 2012

http://www.red -gate.com / продукция / DotNet-разработка / smartassembly /

Существует ли такая программа, как smartassembly для C ++, которая удаляет весь ненужный код из любых связанных DLL (чтобы уменьшить размер), упаковывает их в один EXE-файл, затем запутывает и сжимает? сделать один красивый маленький безопасный EXE?

Мне нравится smartassembly для любой программы .net, которую я делаю, интересно, есть ли что-то для C ++.

СПАСИБО!

1 Ответ

5 голосов
/ 25 февраля 2012

Да, такой инструмент называется компоновщик . Обычно вы запускаете его после компиляции приложения, хотя в большинстве интегрированных сред разработки это выглядит как один шаг с умным именем, например «build».

Другими словами, обручи , которые вы должны перепрыгнуть, чтобы удалить ненужный код и «обфусцировать» его для управляемых языков, таких как C # , абсолютно не нужны для C ++ . Компоновщик будет связывать только те функции, которые использует ваш код, и, поскольку все скомпилировано в двоичный код, он уже запутан настолько, насколько это возможно.

Ничто не собирается связывать содержимое DLL. Весь смысл DLL в том, что на нее динамически ссылается исполняемый файл, поэтому она называется " динамическая библиотека ссылок". Если вам нужна библиотека кода, которая статически связана во время компиляции, вам нужно использовать статическую библиотеку вместо DLL.

...