为什么 GCC 不能通过 `-Wa,-adhln=a.lst` 将选项传递给 `gas` 汇编程序?
Why GCC can't pass options to `gas` assembler with `-Wa,-adhln=a.lst`?
当我想生成a.c
的list文件,名称为a.lst
,我执行命令:
gcc -v -S -Wa,-adhln=a.lst a.c
一些输出如下:
gcc version 5.3.1 20160413 (Ubuntu 5.3.1-14ubuntu2)
COLLECT_GCC_OPTIONS='-v' '-S' '-mtune=generic' '-march=x86-64'
/usr/lib/gcc/x86_64-linux-gnu/5/cc1 -quiet -v -imultiarch x86_64-linux-gnu a.c -quiet -dumpbase a.c -mtune=generic -march=x86-64 -auxbase a -version -o a.s -fstack-protector-strong -Wformat -Wformat-security
所以,根据输出,我找不到正在传递的汇编程序-adhln=a.lst
的选项,并且没有生成a.lst
文件。我的gcc
版本是gcc (Ubuntu 5.3.1-14ubuntu2) 5.3.1 20160413
,as
版本是GNU assembler (GNU Binutils for Ubuntu) 2.26
。我怎么了?
-Wa
选项将标志传递给 汇编程序 。
您的命令使用 -S
,这意味着 "do not run the assembler"。
当我想生成a.c
的list文件,名称为a.lst
,我执行命令:
gcc -v -S -Wa,-adhln=a.lst a.c
一些输出如下:
gcc version 5.3.1 20160413 (Ubuntu 5.3.1-14ubuntu2)
COLLECT_GCC_OPTIONS='-v' '-S' '-mtune=generic' '-march=x86-64'
/usr/lib/gcc/x86_64-linux-gnu/5/cc1 -quiet -v -imultiarch x86_64-linux-gnu a.c -quiet -dumpbase a.c -mtune=generic -march=x86-64 -auxbase a -version -o a.s -fstack-protector-strong -Wformat -Wformat-security
所以,根据输出,我找不到正在传递的汇编程序-adhln=a.lst
的选项,并且没有生成a.lst
文件。我的gcc
版本是gcc (Ubuntu 5.3.1-14ubuntu2) 5.3.1 20160413
,as
版本是GNU assembler (GNU Binutils for Ubuntu) 2.26
。我怎么了?
-Wa
选项将标志传递给 汇编程序 。
您的命令使用 -S
,这意味着 "do not run the assembler"。