Auswerten mathematischer Ausdrücke in C
Das Auswerten benutzerdefinierter mathematischer Ausdrücke in C kann eine herausfordernde Aufgabe sein. Das Einbetten von Python in C ist eine mögliche Lösung, es stehen jedoch effizientere und nativere Optionen zur Verfügung.
Nutzung der ExprTk-Bibliothek
Einer der effektivsten Ansätze ist ExprTk Bibliothek. Diese Bibliothek bietet einen praktischen und leistungsstarken Ausdrucksparser und -auswerter. Hier ist ein einfaches Beispiel mit ExprTk:
<code class="cpp">#include <cstdio> #include <string> #include "exprtk.hpp" int main() { // Define expression types typedef exprtk::expression<double> expression_t; typedef exprtk::parser<double> parser_t; // Expression string std::string expression_string = "3 + sqrt(5) + pow(3,2) + log(5)"; // Expression and parser objects expression_t expression; parser_t parser; // Compile expression if (parser.compile(expression_string, expression)) { // Evaluate and print result double result = expression.value(); printf("Result: %19.15\n", result); } else { printf("Error in expression\n."); } return 0; }</code>
Das obige ist der detaillierte Inhalt vonWie kann ich benutzerdefinierte mathematische Ausdrücke in C effizient auswerten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!