2607d,d的导入c加强
原文现实所展示的要构建GDC,你需要一个足够构建GDC第1阶段的D编译器和libphobos版本.第一阶段的GDC构建了第一阶段的libphobos.如果有一个D编译器,可构建一个可用的第一阶段GDC,那就完美无缺.这是唯一需要克服的障碍.DMD编译器,即参考D编译器,完全可完成它.问题不是DMD能否构建第一阶段的GDC;而是在三个D编译器前端:DMD,GDC和LDC--中,它们使用不同标志集.DMD和LDC关系密切;GDC带了非常不同的标志风格来匹配GCC.如果能写一个小型封装程序来转换这些标志差异,应该能用DMD构建第一阶段的GDC.GDC包装器这里该小程序只是机械地翻译标志,添加所有其他参数不变,然后用转换后的参数列表调用DMD.我大多是反复试验,直到DMD建成了第一阶段的GDC.我会让GDC构建运行,当出现失败时,我会把那个标志加到包装器里.最难处理的是-MF和-MT,它们会创建依赖规则文件.我这里做的是忽略-MT,创建用-MF指定但只包含一个换行符的文件.这类似权宜之计,但并不追求完全准确;我只想完成第一阶段的GDC并继续前进.除此外,忽略了警告信号,按-ofoutput.o转换-o output.o,将-finline改为-inline,将-fversionVERSION改为-versionVERSION,及一些小改动以确保链接正确.而且效果不错我从D官网下载了FreeBSDx86_64DMD2.112.0的二进制文件,解压到HOME,然后用./configure --dmd/home/briancallahan/dmd2/freebsd/bin64/dmd make构建了gdcwrapper,在路径尾用export PATH$路径:$临时添加了/home/briancallahan/gdcwrapper来构建GDC,没有问题.事情很简单.可用它在FreeBSD15上构建GDC15.2.0和GDC16.1.0.结论希望这能帮助到一些FreeBSD,NetBSD,GNUHurd或Illumos用户.或任何没有GDC包的林操发布版用户.明显的限制是,当前DMD只支持x86和x86_64的后端(不过正在推出ARM64后端!).所以如果你想为不同CPU架构构建GDC,首先需要用该进程启动一个本地GDC,然后可按之前的信息,构建一个跨GDC,再生成一个针对不同CPU架构的本地GDC.这里