llvmc.exe
和clang.exe
之间有什么区别?我用哪一个编译C或C ++代码?
答案 0 :(得分:12)
llvmc
是LLVM工具链中各种程序的前端,特别是llvm-*
工具,即默认情况下它会尝试使用llvm-gcc
和llvm-g++
来编译C和C ++文件。
您可以将-clang
传递给llvmc
,如果这是您要使用的内容,并且可能配置llvmc
以便默认使用clang
,但我不知道怎么做。
我建议您直接使用clang
和clang++
,这可以用作gcc
和g++
的插入式替换。
答案 1 :(得分:7)
llvmc是一个实验性驱动程序,旨在支持多种不同的源语言。 Clang和Clang ++一直是驱动(C / C ++ / Objective-C)编译器的首选方式。实际上,llvmc已从主线中删除。
简而言之,你绝对应该使用“clang”而不是“llvmc”。
答案 2 :(得分:3)
LLVM最初代表低级虚拟机,现在主要用于:
另一方面,Clang是一个用于处理C语言系列的库的集合,它特别包含一个编译器(clang
),它充当C,C ++,Objective-C和Objective的前端。 -C ++在LLVM库之上。
因此,在您的情况下,您将需要使用clang
和clang++
分别编译C和C ++,并且不必担心LLVM在幕后使用以优化您的代码和处理适合您的架构的机器指令的生成。