当我运行时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?
我不认为你可以自己
as
做到这一点,但你可以gcc
用来驱动as
:这将产生
file1.o
等file2.o
。如果您需要提供
as
- 特定选项,您可以添加它们-Xassembler
,例如