4 Stimmen

C++-basiertes Make-System

Gibt es irgendwelche Build-Systeme, die nicht eine DSL verwenden, sondern tatsächlich C++ als Build-Sprache verwenden?

11voto

Matt Joiner Punkte 105454

Yo Dawg, ich habe gehört, dass du C++ magst, also habe ich C++ zu deinem Build-System hinzugefügt, so dass du kompilieren musst, bevor du kompilierst.

3voto

Fred Nurk Punkte 13458

Keine, die populär sind, wenn jemand verrückt genug wäre, überhaupt eine zu schreiben. C++ wäre dafür eine unglaublich ungeschickte Sprache.

Wenn Sie eine solche Sprache erstellen wollen, sollten Sie stattdessen eine Sprache wie Python oder Lua wählen, um etwas Populäres zu verwenden und nicht eine neue DSL zu erfinden.

3voto

Matt Joiner Punkte 105454

Ich habe ein Build-System geschrieben, das ich in meinen Projekten in Python verwende. pybake . Es ist so konzipiert, dass es ein bisschen schlauer ist als Make, mit weniger Magie. Der Build ist auch in Python definiert, wodurch eine bestehende Sprache wiederverwendet wird, anstatt eine neue DSL für diesen Zweck zu erzeugen. Hier ist ein Beispiel davon in Gebrauch.

2voto

Steve Rowe Punkte 19335

Fragen Sie, ob es irgendwelche Build-Systeme gibt, wie Make oder Ant, die C++-Code als Direktiven und nicht als spezielle Befehle verwenden? Während viele höhere Sprachen über ein solches System verfügen, gibt es in C++ meines Wissens nach keine. Schon gar nicht die populären Sprachen. Das liegt wahrscheinlich daran, dass C++ eine kompilierte Sprache ist und nicht trivial zu parsen ist. Das macht es weniger geeignet für das, was im Wesentlichen eine leichtgewichtige Skriptaufgabe ist.

1voto

CashCow Punkte 29849

Wahrscheinlich gibt es irgendwo C++-Code, aber wenn Sie meinen, Sie müssten ein C++-Programm schreiben, es kompilieren und dann ausführen, um einen anderen Quellbaum zu erstellen, dann glaube ich nicht, dass das wirklich funktionieren würde. Womit würden Sie Ihr Skript bauen? Es geht weiter und weiter.

Compiler und die Befehle hinter den Skriptsprachen sind oft in C oder C++ geschrieben.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X