Compiling

因為 .*s 不像 gcc .*c 那樣工作

  • February 15, 2022

當我執行時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

gcc -c *.s

這將產生file1.ofile2.o

如果您需要提供as- 特定選項,您可以添加它們-Xassembler例如

gcc -c -Xassembler -mindex-reg *.s

引用自:https://unix.stackexchange.com/questions/687017