Согласно Apple gcc 4.2.1 doc:
-arch arch
Скомпилировать для указанной цели архитектура арки. Допустимые значениями являются "i386", "x86_64", "ppc" и 'Ppc64. Работа нескольких вариантов и направлять компилятор для производства "универсальные" двоичные файлы, включая объект код для каждой указанной архитектуры с -arch. Этот параметр работает только в том случае, если сборщик и библиотеки доступны для каждой указанной архитектуры. (ТОЛЬКО ДЛЯ ЯБЛОКА)
Итак, какая разница между этими двумя вызовами:
gcc -arch i386 program.c
и
gcc -m32 program.c
Является ли это только тем, что -arch более мощный, поскольку он более гибкий и может создавать универсальные двоичные файлы при задании нескольких арков?