[cfe-users] Building with Clang (on Windows) - but for Linux

Dallman, John via cfe-users cfe-users at lists.llvm.org
Wed Aug 26 02:18:33 PDT 2020


> BTW - I often see Clang described as "llvm" or "cfe" and I've often wondered
> what they stand for ??

LLVM is "Low Level Virtual Machine". That name is a bit confusing, because this isn't the kind of "Virtual Machine" you get from VMWare or the like, but a way of representing programs for a non-existent, hence "virtual," computer architecture. It was created for use in compilers: you have a front-end that translates programming languages into the LLVM representation, and a back-end that generates object files for a specific processor and operating system. That means that to create compilers for X different languages to run on Y different platforms, you only need to write X front-ends and Y backends, rather than X*Y separate compilers. "cfe" is the "C front-end" which also handles C++ and the "Objective" variants of C and C++.

https://en.wikipedia.org/wiki/LLVM

The idea of having a well-defined intermediate representation for compilers and related tools has been around for nearly sixty years (https://en.wikipedia.org/wiki/CPL_(programming_language)) but LLVM seems to be the most successful implementation to date.

--
John Dallman

-----------------
Siemens Industry Software Limited is a limited company registered in England and Wales.
Registered number: 3476850.
Registered office: Faraday House, Sir William Siemens Square, Frimley, Surrey, GU16 8QD.


More information about the cfe-users mailing list