当我运行时gcc -c *.c
,它运行:-
gcc -c file1.c -o file1.o
gcc -c file2.c -o file2.o
gcc -c file3.c -o file3.o
...
但as *.s
运行:-
as file1.s -o a.out
as file2.s -o a.out
as file3.s -o a.out
...
默认情况下,gcc 在编译为目标文件时仅替换文件扩展名,但 gnu as 将默认文件输出设置为 a.out。如何让gnu在汇编时将.s替换为.o?
答案1
我不认为你可以as
自己做到这一点,但你可以使用gcc
来驱动as
:
gcc -c *.s
这将产生file1.o
等file2.o
。
如果您需要提供- 特定选项,您可以使用,as
添加它们-Xassembler
例如
gcc -c -Xassembler -mindex-reg *.s