1

http://www.red-gate.com/products/dotnet-development/smartassembly/

是否有像 C++ 的 smartassembly 这样的程序,可以从任何链接的 DLL 中删除所有不需要的代码(以减小大小)并将它们打包到单个 EXE 中,然后对其进行混淆和压缩?制作一个不错的小型安全EXE?

我喜欢我制作的任何 .net 程序的 smartassembly,想知道是否有适用于 C++ 的东西。

谢谢!

4

1 回答 1

5

是的,这样的工具称为链接器。您通常在编译应用程序后运行它,尽管在大多数集成开发环境中,这似乎是一个具有巧妙名称(如“build”)的单个步骤。

换句话说,对于C++ 来说,绝对不需要为像 C# 这样的托管语言删除不需要的代码并“混淆”它。链接器只会链接您的代码使用的函数,并且由于所有内容都被编译为二进制文件,因此它已经被混淆了。

但是,没有任何东西会链接到 DLL 的内容。DLL 的全部意义在于它被可执行文件动态引用,这就是它被称为“动态链接库”的原因。如果您想要一个在编译时静态链接的代码库,您需要使用静态库而不是 DLL。

于 2012-02-24T23:21:55.360 回答