现象:
在Linux而非Windows中编译C语言源并用UPX压缩时。在终端:中列出UPX: test.so NotCompressibleException。的源代码test.c是:
int main(){
int i = 0;
printf("HelloWorld\n");
return 0;
}
原因:二进制文件的太小。UPX无法处理40Kb以下的二进制文件。
解决:静态模式下编译二进制文件,以获得更大的可执行文件,例如:
gcc -static -o test test.c
upx -o test-upx test
本文探讨了在Linux环境下使用UPX压缩C语言源代码时遇到的NotCompressibleException异常。通过分析源代码test.c,揭示了异常产生的根本原因是二进制文件过小。文章提供了静态模式编译以增大二进制文件大小的解决方案。
3118

被折叠的 条评论
为什么被折叠?



