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

标签 c++ c clang llvm frontend

我知道 llvm 可以用来将 c++ 转换成 c 代码。我想知道 clang 是否可以做同样的事情(因为 clang 是从 llvm 派生的)。

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

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

PIC 是一家微 Controller 制造商,不生产 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 是其中之一。

关于c++ - 使用 Clang 将 C++ 代码转换为 C 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37082302/

相关文章:

c++ - 由于 cvtColor 函数错误,如何解释 c++ opencv 断言错误消息?

c++ - 未找到 SDL2 begin_code.h 文件

与多个比较==(水果机任务)

c++ - clang 和 __float128 错误/错误

objective-c - Objective-C 方法的 C 数组参数和返回类型

c++ - C++ 中类似属性的特性?

c++ - 谷歌模拟 :Testing a Certain Property of an Object

c++ - 使用 QRegexp 从 Qt 中的字符串中删除 xml header

c - 为什么我会收到这些警告?

c - 在单个 udp 服务器中处理 40 个客户端的可能算法