Ребята, У меня есть проект, который я скомпилировал для процессора ARM Cortex-A8. Я использую GCC для этого. В настоящее время размер моего исполняемого файла составляет 220,1 КБ. Теперь я могу изменить мой Makefile, и я добавьте флаг -mthumb
, Makefile, строка выглядит примерно так -ARM Режим большого пальца: Размер кода не уменьшается
gcc -mcpu=cortex-a8 -mthumb -marm -mfloat-abi=softfp -mfpu=neon
Я делаю это изменения во всех моих Makefiles и я строю свой проект, но исполняемый файл я наконец-то все еще продолжает от 220,1 КБ.
Я сделал еще одно изменение в моей командной строки, я добавил -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
....
....
'-marm' является счетчиком' -mthumb' и 'gcc' принимает последний вариант; Вот почему * ответ dwelch * работает. –