Orc*_*ris 7 c d backwards-compatibility phobos
如果我导入std.c库而不是在C中包含库,C代码是否会使用D编译器进行编译,还是存在其他后缀兼容性问题?
小智 6
D中有几个细微之处可能会使C代码的行为与您想要的完全不同.例如,整数提升规则并不完全相同(但差不多),初始化规则也不同(例如,浮点值 - 包括这样的数组 - 被初始化为NaN).此外,最近不推荐使用C函数指针语法,因此您可能必须将某些C类型语法转换为等效的D语法.
但是,一般来说,非常注重向后兼容性,并且大多数 C代码应该在D中编译正确(或者进行非常少量的更改),其语义与C中相同.
另请注意,std.c已弃用; 请core.stdc改用.