Ребята, у меня есть проект, который я скомпилировал для процессора ARM Cortex-A8.Я использую GCC, чтобы сделать это.В настоящее время размер моего исполняемого файла составляет 220,1 КБ.Теперь я изменяю свой make-файл и добавляю флаг -mthumb
, строка make-файла выглядит примерно так -
gcc -mcpu=cortex-a8 -mthumb -marm -mfloat-abi=softfp -mfpu=neon
Я делаю эти изменения во всех моих make-файлах и строю свой проект, но исполняемый файл, который я получаюнаконец, он по-прежнему имеет размер 220,1 КБ.
Я внес еще одно изменение в свою командную строку, добавил параметр -mthumb-interwork
gcc -mcpu=cortex-a8 -mthumb -mthumb-interwork -marm -mfloat-abi=softfp -mfpu=neon
Еще раз получаю исполняемый файл того же размера220,1 КБ.Я что-то упускаю при этом?
Я написал небольшую программу, чтобы найти наименьшее из двух чисел, и скомпилировал ее, используя следующую командную строку
gcc main.c -o main
Я получил 8,5 КБисполняемый файл
Затем я выполняю
gcc -mthumb main.c -o main
Я все еще получаю исполняемый файл объемом 8,5 КБ.
Что здесь не так?
Я сделал cat /proc/cpuinfo
чтобы увидеть, действительно ли thumb поддерживается моим процессором, и я вижу, что он действительно поддерживается.Я получаю -
Processor: ARMv7 Processor rev 5 (v7l)
Features: swp half thumb fastmult vfp edsp neon vfpv3
....
....