大家好,我有一个我为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 .... ....
old_timer.. 6
我认为-marm意味着你的手臂没有拇指,试着去掉-marm.
我认为-marm意味着你的手臂没有拇指,试着去掉-marm.