别名CC引用Shell中的Clang?

时间:2011-12-20 16:52:00

标签: c linux bash gcc clang

任何警告或陷害别名cc来引用我的默认shell中的Clang - zsh(可能是通过编辑我的.zshrc文件),同时在另一个shell(bash)中将cc别名化为gcc?

我发现Clang更容易使用,主要是因为它的警告和错误消息比gcc更容易阅读和理解。我将在下学期(纯粹用C语言)注册一个Unix编程课程,并且我希望在提交作业之前清除任何gcc -Wall警告。

我想要做的是在我的默认shell(zsh)中使用Clang进行大部分开发,使用将编译器称为cc的makefile。一旦满意,我会在提交之前通过bash(调用gcc作为编译器)运行一次,作为测试。然后,使用cc作为编译器提交的makefile将为教师调用gcc,使其对它们透明。我应该为每个作业提交makefile。

我知道这似乎是懒惰,因为我每次都可以重新编辑makefile,但我试图留下更少的错误空间。

2 个答案:

答案 0 :(得分:6)

跑步

  make CC=clang

  make CC=gcc

或者

  make CC='gcc -flto -Wall'

(提醒:-flto应该在编译和链接时传递。

答案 1 :(得分:0)

我不会评论这是否合适,但有一种更简单的方法。只需将Makefile中的变量用于您想要的默认值:

CC=gcc

然后你可以在调用make:

时覆盖它
make CC=clang