2011-12-20 20 views
0

cccを別のシェル(bash)にgccにエイリアスしたままで、私のデフォルトのシェル - zsh(おそらく私の.zshrcファイルを編集することによって)内のClangを参照するccまたは別名ccの警告別名CCを使用してシェルのClangを参照する

私は、主に警告とエラーメッセージがgccのものよりはるかに読みやすく分かりやすいため、Clangの方がはるかに使いやすくなっています。私は次の学期(純粋にC言語)のUnixプログラミングコースに登録され、課題を提出する前にすべてのgcc -Wall警告をクリアすると予想されます。

私がしようとしているのは、コンパイラをccとして参照するmakefileを使用して、デフォルトのシェル(zsh)内でClangを使用して開発することです。いったん満足したら、テストとして、提出する前にbash(コンパイラとしてgccを呼び出す)を使って一度実行します。コンパイラとしてccを指定して提出されたmakefileはインストラクタのためにgccを呼び出し、それらを透明にします。私はそれぞれの割り当てでmakefileを提出することになっています。

私は毎回メイクファイルを編集できるので、これは怠惰のように思えますが、エラーの余地が少なくなるようにしています。

答えて

5

ちょうど

make CC=clang 

または

make CC=gcc 

または多分

make CC='gcc -flto -Wall' 

(:-fltoは、コンパイル時とリンク時に渡されるべきリマインダー)を実行します。

0

これは問題ないかどうかについては言及しませんが、より簡単な方法があります。ちょうどあなたがデフォルトになりたいものは何でもあなたのMakefileの変数を使用する:あなたがメイクを呼び出すとき

CC=gcc 

その後、あなたはこれをオーバーライドすることができます。

make CC=clang 
+0

を私は変数の代入が 'make'コマンドに渡されると信じています'Makefile'のものを上書きするので、' Makefile'の 'CC = gcc'で十分です。 –

+0

@BasileStarynkevitch:私はちょうどチェックして、あなたは間違いありません。 –

関連する問題