使用Clang将C ++转换为C代码

我知道llvm可以用来将c ++转换成c代码。 我想知道clang是否可以做同样的事情(看到clang来自llvm )。

那么我可以使用clang将c ++代码转换为c代码吗?

如果你想知道我为什么要这样做,这是我的场景:

PIC是一家微控制器制造商,它不制造c ++编译器,但确实为其大多数产品制作了c编译器。 我想用c ++编写,然后作为构建过程的一部分,将c ++代码转换为临时c文件,然后将其转换为PIC编译器,并且我已经为PIC micro编写了c ++代码。

Clang可以读取C ++并发出LLVM IR。 您似乎意识到LLVM可以读取IR并发出C(来自您自己的链接: http : //llvm.org/releases/3.1/docs/FAQ.html#translatecxx )。 所以Clang不能直接发出C,但是它可以发出LLVM IR,然后转向并转换为C.两个步骤,而Clang就是其中之一。