任何警告或陷害别名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,但我试图留下更少的错误空间。
答案 0 :(得分:6)
跑步
make CC=clang
或
make CC=gcc
或者
make CC='gcc -flto -Wall'
(提醒:-flto
应该在编译和链接时传递。
答案 1 :(得分:0)
我不会评论这是否合适,但有一种更简单的方法。只需将Makefile中的变量用于您想要的默认值:
CC=gcc
然后你可以在调用make:
时覆盖它make CC=clang