伙计们,我有一个为 ARM Cortex-A8 处理器编译的项目。我正在使用 GCC 来执行此操作。目前我的可执行文件的大小是 220.1 KB。现在我修改我的 makefile 并添加标志-mthumb
,makefile 行看起来有点像这样 -
gcc -mcpu=cortex-a8 -mthumb -marm -mfloat-abi=softfp -mfpu=neon
我在我的所有 makefile 中进行了这些更改并构建了我的项目,但我最终得到的可执行文件仍然是 220.1 KB。
我对命令行进行了另一项更改,添加了 -mthumb-interwork 选项
gcc -mcpu=cortex-a8 -mthumb -mthumb-interwork -marm -mfloat-abi=softfp -mfpu=neon
我再次得到相同大小的可执行文件 220.1 KB。这样做时我错过了什么吗?
我写了一个小程序,找到两个数字中最小的一个,并使用以下命令行编译它
gcc main.c -o main
我得到一个 8.5 KB 的可执行文件
接下来,我做一个
gcc -mthumb main.c -o main
我仍然得到一个 8.5 KB 的可执行文件。
这里有什么问题?
我做了一个cat /proc/cpuinfo
看看我的处理器是否真的支持拇指,我发现它确实受到支持。我得到 -
Processor: ARMv7 Processor rev 5 (v7l)
Features: swp half thumb fastmult vfp edsp neon vfpv3
....
....