Ich möchte exprtk verwenden, um einen dynamischen externen Wert zu suchenC++

Programme in C++. Entwicklerforum
Guest
 Ich möchte exprtk verwenden, um einen dynamischen externen Wert zu suchen

Post by Guest »

Ich möchte Exprtk in eine C ++ (Open Source) -Home -Automatisierungsanwendung integrieren. (Bool) oder ein Temperaturwert (doppelt) und ich möchte einen Ausdruck unter Verwendung dieser Werte bewerten können. Viele von ihnen werden in Echtzeit neu berechnet. && relay_1 == true "< /p>
Muss ich jedes Mal, wenn ich den Parser.comPile () < /strong>
oder alle Variablennamen ausführe, angeben Kann ich die Werte nachsehen lassen und dann bei Expression (value () Zeit bewertet? Sollte ich eine Suchfunktion erstellen und den variablen Namen als Zeichenfolge übergeben? dh "Lookup (" Outside_Temp ")> 60"? Ich bin mir nicht sicher, ob das mir etwas kauft, denn eine unklare, ob ich den Exprtk -Kontext für später serialisieren kann? Aber ich müsste lieber nicht jedes Mal alle Variablen angeben.
Kann ich den Kontext speichern? < /p>

Code: Select all

void test1() {

using T              = double;
typedef exprtk::symbol_table symbol_table_t;
typedef exprtk::expression   expression_t;
typedef exprtk::parser       parser_t;

symbol_table_t immutable_symbol_table( symbol_table_t::symtab_mutability_type::e_immutable);

double outside_temp = -4;

immutable_symbol_table.add_variable("OUTSIDE_TEMP" , outside_temp );

expression_t expression;
expression.register_symbol_table(immutable_symbol_table);

parser_t parser;

if (!parser.compile("OUTSIDE_TEMP > 60.0", expression))
{
cout

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post