【发布时间】:2015-09-08 12:12:52
【问题描述】:
我正在尝试使用 pycparser 解析 C 文件的语法。我通过预处理器发送 C 文件,然后将预处理器的输出发送给 pycparser 解析。以下代码在其中一个 C 文件中...
extern "asm"
{
extern void ASM_Function(void);
}
pycparser throws 和异常告诉我这是无效的 C 语法。查看C BNF 关键字extern 不允许在其前面出现字符串文字。我在阅读 BNF 时是正确的吗?这个外部功能是在更高版本的 C 中添加的,还是这个语法编译器特定的?
【问题讨论】:
-
确定不是C++ code?但是,可能会有一个具有这种扩展名的 C 编译器。
-
asm 不代表汇编级代码吗?
asm volatile(@assembler funtion);? -
@cremno 编译器程序同时支持 C 和 C++ 代码,但我指定了运行时标志只使用 C 编译器。它可能是一个扩展,允许程序员在中链接程序集