2017-09-08 56 views
1

GCC Compiler Optimizations, can't link with a main executable file '_' for architecture x86_64私はちょうどこの答えに遭遇し、gccは本当に大文字と小文字を区別していますか?私は常に-Onを使用して、望ましい最適化のレベルを示しました。 -on私には分かりません。しかし、私は-o3と少しのプログラムを試して、gccはそれを喜んで飲み込んだ。 -onが何を意味するのかを見つけることができませんでした。私の小さなテストでは、このキーは、私が認める限り、何らかの形で出力に影響を与えませんでしたが、-O3は、より小さな実行可能性をもたらしました。gccのオプションの大文字と小文字の区別、 `-On`の代わりに` -on`を使用する

gccは大文字と小文字を区別する必要があります。大文字と小文字を区別するFS、少なくともオプションをコマンドするにはwrtを使用してください。そして私はgccがエラーメッセージunrecognized option '-o3'を出して-o3を与えたときに救済することを期待しましたが、それはしませんでした。

gcc --versionがある

gcc (Gentoo 5.4.0-r3 p1.3, pie-0.6.5) 5.4.0 
Copyright (C) 2015 Free Software Foundation, Inc. 
This is free software; see the source for copying conditions. There is NO 
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 

arch出力:

x86_64 

答えて

2

-oオプションが呼び出されたオブジェクトまたは実行可能ファイルを生成するコンパイラの原因となりますので、-o3でコンパイル、書き込み先の出力ファイルを設定し、 3

+0

Erm、笑、それは本当です。もっと慎重に 'ls'出力を調べなければなりませんでした。実際にはファイル '3'があり、' ./3:ELF 64ビットLSB再配置可能、x86-64、バージョン1(SYSV)、デバッグ情報なし 'となっています。ありがとうございました。 – rfx

+0

私はいつも '-o'と出力ファイル名の間にスペースを入れていますので、私には驚きです。 'man gcc'以外にも同じ規則があり、' -ofilename'の形式についてはあまり言いません。 – rfx

関連する問題