是否有任何构建系统不使用DSL但实际上使用C ++作为构建语言?
答案 0 :(得分:11)
答案 1 :(得分:3)
没有一个很受欢迎,如果有人疯狂甚至写一个。对此,C ++将是一种令人难以置信的笨拙语言。
如果你想创建一个,而是选择一种语言,如Python或Lua,以便使用流行的东西,而不是发明新的DSL。
答案 2 :(得分:3)
我编写了一个构建系统,我在我的Python项目中使用了pybake。它的设计比制作更聪明,而且魔法更少。构建也在Python中定义,从而重用现有语言,而不是为此目的生成新的DSL。这是正在使用的example。
答案 3 :(得分:2)
您是否在询问是否有任何构建系统,例如使用C ++代码作为指令而不是专用命令的Make或Ant?虽然许多更高级别的语言都有这样的系统,但我所知道的C ++中却没有。当然不是流行的。这可能是因为C ++是一种编译语言,而不是一个很容易解析的语言。这使得它不太适合本质上轻量级的脚本任务。
答案 4 :(得分:1)
在某处可能存在C ++代码,但是如果你的意思是你必须编写一个C ++程序并编译它然后运行它来构建一个不同的源代码树,我认为这不会真正起作用于事物的方案。你会用什么构建你的构建脚本?它一直在继续。
编写器和脚本语言背后的命令通常用C或C ++编写。
答案 5 :(得分:0)
由于编译了C ++,这将为您提供基于C ++的构建系统需要构建系统的问题。我不知道任何基于C ++的构建系统,并会惊讶地找到一个。对于像Python这样的解释语言,bootstrapping不是问题(例如,你会找到scons)。
如果您正在寻找比Make更好的东西,请查看CMake。虽然有些过时,但您可能会发现C++ Project Template有助于创建基于CMake的项目。