ldc2与ldmd2有什么区别?

ldc2与ldmd2有什么区别?,d,ldc,D,Ldc,我最近通过hombrew在我的Mac上安装了ldc,并正在测试将代码作为脚本运行,这时我注意到使用ldmd2编译我的程序之后也不会运行我的程序。既然这与运行ldc2的行为相同,那么有什么区别呢 这是我的节目 导入标准stdio; void main() { writeln(“你好,没有显式编译的世界!”); } 编辑: 该网站称“对于小型项目,一步编译和运行非常方便。大多数(如果不是全部)编译器包都包含一个名为rdmd/gdmd/ldmd或类似的工具。出于教学目的,我们将其称为rdmd。”我从

我最近通过hombrew在我的Mac上安装了ldc,并正在测试将代码作为脚本运行,这时我注意到使用ldmd2编译我的程序之后也不会运行我的程序。既然这与运行ldc2的行为相同,那么有什么区别呢

这是我的节目

导入标准stdio;
void main()
{
writeln(“你好,没有显式编译的世界!”);
}
编辑:
该网站称“对于小型项目,一步编译和运行非常方便。大多数(如果不是全部)编译器包都包含一个名为rdmd/gdmd/ldmd或类似的工具。出于教学目的,我们将其称为rdmd。”我从中得到的是,这取决于您使用的编译器,但在ldc的情况下,我应该使用ldmd。

ldmd2
只是
ldc2
的包装脚本,它将参数格式从dmd样式转换为ldc样式

所以它做的事情完全一样,只是compile命令行上的一些选项和标志有不同的名称和类似的东西

该链接讨论的是rdmd,它是一个单独的程序,递归地获取依赖项、编译并自动运行。rdmd在编译器的顶部工作,可能已经与它一起打包,或者可能需要单独下载

它的来源在这里:


而且它与ldmd2的选项格式兼容。

该网站声明“对于小型项目来说,一步编译和运行非常方便。大多数(如果不是全部)编译器包都包含一个名为rdmd/gdmd/ldmd或类似的工具。出于教学目的,我们称之为rdmd。”我从中得到的是,这取决于您使用的编译器,但在ldc的情况下,我应该使用ldmd而不是rdmd。在wiki中编写此命令的人是错误的。这是wiki上的一个错误,现已修复。