使用枚举如何增加可执行文件的大小
How does using Enumerations increases the executable size?
谷歌减少APK
大小的技巧之一是避免使用Enumerations
,他们说:A single enum can add about 1.0 to 1.4 KB of size to your app's classes.dex file.
,这怎么可能?对于natice (C/c++)代码也是如此吗?
来源:https://developer.android.com/topic/performance/reduce-apk-size.html
java枚举的Dex膨胀已经在SO中讨论过了。C/c++中的枚举根本不会使代码膨胀。它们只是数字常量,每个开关的代码大小为每个case语句占用几个字节。如果枚举值是连续的且不大,则switch可以转换为TBB指令,该指令只需要每个case一个字节加上命令本身的大小。
相关文章:
- 如何将不同的可执行文件合并到一个窗口框架中进行编码?像浏览器一样
- 如何使 windows 命令提示符在C++可执行文件上显示返回值?
- CMake:如何将库 A 链接到库 B,然后将可执行文件链接到库 A
- 如何使字符串出现在编译的二进制可执行文件的开头?
- 程序在使用 system() 启动另一个可执行文件时停止
- 如何更改使用 CPack 安装的可执行文件的名称?
- 在Linux上使用Clang / OLLVM交叉编译helloworld Windows可执行文件时的问题
- CMake:我们可以为一组不形成可执行文件或库的特定文件指定包含目录吗?
- 如何将图像传入C++可执行文件并将输出图像存储在新目录中?
- 共享库 (.so) 没有扩展名的 Linux 可执行文件之间的区别?
- 如何在 linux 可执行文件中使用静态库
- 错误:当我从"WinDbg"打开可执行文件时,找不到符号文件。默认导出 ntdll 的符号.dll
- 编译的C可执行文件被Windows defender检测为病毒
- Linux 可执行文件通过 dlopen 在emplace_back崩溃打开共享库
- 是否可以在命令行中将输入参数传递给可执行文件
- 如何在可执行文件中存储常量数组?
- 仅针对特定可执行文件增加堆栈大小
- 在已编译的可执行文件的.text部分中增加或指定间隙,以手动添加程序集代码
- 使用枚举如何增加可执行文件的大小
- 为什么只包含iostream.h会使可执行文件的重量增加1mb