我正在使用GCC 4.3编译我的C++应用程序。我使用的是-march=native
,而不是手动选择优化标志,理论上它应该添加适用于我正在编译的硬件的所有优化标志。但是我如何检查它实际使用的是哪些标志呢?
发布于 2011-03-29 17:24:28
发布于 2012-02-20 11:30:15
要查看命令行标志,请使用:
gcc -march=native -E -v - </dev/null 2>&1 | grep cc1
如果您希望看到由某些参数设置的编译器/预编译器定义,请执行以下操作:
echo | gcc -dM -E - -march=native
发布于 2013-09-23 23:26:28
它应该是(-###
类似于-v
):
echo | gcc -### -E - -march=native
为gcc展示“真正的”本土旗帜。
你可以用一个命令让它们看起来更“清晰”:
gcc -### -E - -march=native 2>&1 | sed -r '/cc1/!d;s/(")|(^.* - )//g'
你可以用-mno-*去掉标志:
gcc -### -E - -march=native 2>&1 | sed -r '/cc1/!d;s/(")|(^.* - )|( -mno-[^\ ]+)//g'
https://stackoverflow.com/questions/5470257
复制相似问题