Здравствуйте, Hard_Club, Вы писали:
H_C>переносим свой Python код на C++. У нас там был в
H_C>Python конфиг в котором константами задавалось (было порядка 30 параметров):
H_C>CPU_NUM = getenv("CPU_NUM", 3) # default
H_C>если ли в C++ какой-то рекомендуемый способ/либа для конфигов?
яд бы не заморачивался. если надо getenv сделайте себе getenv
#include <stdio.h>
#include <errno.h>
#include <stdlib.h>
int getenv(const char* name,int defval) {
long int val; char *end, *text=getenv(name);
if (!text) return defval;
val=strtol(text,&end,10);
if (val==0 && errno) return defval;
if (*end) return defval;
if ((int)val!=val) return defval;
return val;
}
Либо готовые есть в бусте
https://www.boost.org/doc/libs/1_53_0/doc/html/program_options.html
https://www.boost.org/doc/libs/1_48_0/doc/html/property_tree.html
Если алергия то
куча реализайций есть
например:
https://github.com/benhoyt/inih
на C есть glib и libargp
https://developer.gnome.org/glib/stable/glib-Key-value-file-parser.html
https://github.com/alexreg/libargp