链接,Walter注释:
如果有stdio.h,用导入C,可:
import stdio;
然后,D编译器读h文件,解析它,并按D方式展示接口.D自带了C解析器.在此.
1.D编译器是否包含完整的C编译器?
2.D编译器如何处理特定GCC与Clang的C扩展?
1.是的,但是只有cparse.d文件是处理C的."C"编译器的其余部分劫持了D语义例程,代码生成器和优化器.还有一些自定义工作来转换#define为简单声明.如果只想解析C,是的,可只使用cparse.d.
注意,如果没有符号表,不能完整解析C语言,cparse.d也处理了它.
2.C扩展总是个问题.ImportC支持最广泛使用的扩展.(大多数C扩展很少使用,可忽略.)










