haz*_*ziz 5 c emacs gcc makefile clang
我M-x compile在Emacs中使用来编译我的C代码,然后启动make -k并允许我编译代码.我希望在安装它之后使用Clang(或者可以想象为GCC 4.8)作为默认编译器.我有cc别名clang -Wall -Werror -std=c99 -ggdb -O0,当Clang从Emacs外部的命令行调用时,M-x compile从Emacs内部调用仍然似乎cc是GCC版本4.7的别名,这是我已经安装的.我希望利用Clang(和GCC 4.8)提供的更丰富,更易理解的错误和警告信息,但不希望为我写的每个简短的学生级程序创建单独的makefile,因为我目前正在通过K&R包括解决练习.
我如何说服Emacs M-x compile并且make -k应该调用Clang(或GCC 4.8)而不是旧版本的GCC?
这不是emacs,而是make.它默认使用环境变量CC,后者默认为gcc.只需在启动emacs之前运行它(假设您使用的是Unix):
$ export CC=clang
Run Code Online (Sandbox Code Playgroud)
或者,使用直接指定CC的makefile.
您可以编写一个 makefile,并在编译行显式使用 clang。
像这样的事情会起作用:
CC=叮当声 CFLAGS= -Wall -Werror -std=c99 -ggdb -O0 %: %。C $(CC) $(CFLAGS) $^ -o $@
请注意,最后一行需要以制表符开头才能实际工作。