LINUX.ORG.RU

История изменений

Исправление AntonI, (текущая версия) :

Ну и сравни вот эту свою портянку

myoption cmdlnopts[] = {
    // set 1 to param despite of its repeating number:
    {"help",    NO_ARGS,    NULL,   'h',    arg_none,   APTR(&help),        "show this help"},
    {"node",    NEED_ARG,   NULL,   'n',    arg_int,    APTR(&GP.nodenum),   "encoder node number"},
    {"reset",   NO_ARGS,    NULL,   'r',    arg_none,   APTR(&GP.reset),     "reset encoder"},
    {"verbose", NO_ARGS,    NULL,   'v',    arg_int,    APTR(&GP.verbose),   "show more info"},
    {"motorid", NEED_ARG,   NULL,   'i',    arg_int,    APTR(&GP.motorID),   "motor controller address"},
    {"gotopos", NEED_ARG,   NULL,   'g',    arg_double, APTR(&GP.gotopos),   "target focus position"},
    {"targspeed",NEED_ARG,  NULL,   't',    arg_double, APTR(&GP.targspeed), "move motor with constant speed (rev/min)"},
    {"stop",    NO_ARGS,    NULL,   's',    arg_none,   APTR(&GP.stop),      "stop motor"},
    {"monitor", NEED_ARG,   NULL,   'm',    arg_double, APTR(&GP.monitspd),  "move a little with given speed with monitoring"},
    {"eswstate",NO_ARGS,    NULL,   'e',    arg_none,   APTR(&GP.showesw),   "show end-switches state"},
    {"logfile", NEED_ARG,   NULL,   'l',    arg_string, APTR(&GP.logname),   "logfile name and path"},
    {"server",  NO_ARGS,    NULL,   'S',    arg_none,   APTR(&GP.server),    "work as server"},
    {"port",    NEED_ARG,   NULL,   'P',    arg_string, APTR(&GP.port),      "server port number (default: " DEFPORT ")"},
    {"host",    NEED_ARG,   NULL,   'H',    arg_string, APTR(&GP.host),      "host to connect (default: localhost)"},
    {"standalone",NO_ARGS,  NULL,   'A',    arg_none,   APTR(&GP.standalone),"run as standalone application"},
    {"pidfile", NEED_ARG,   NULL,   'p',    arg_string, APTR(&GP.pidfilename),"name of PID-file (default: " DEFPIDNAME ")"},
    {"preset",  NEED_ARG,   NULL,   '0',    arg_longlong,APTR(&GP.chpresetval),"change preset value"},
    {"nomotor", NO_ARGS,    NULL,   'M',    arg_none,   APTR(&GP.nomotor),   "don't initialize motor"},
    {"noencoder",NO_ARGS,   NULL,   'E',    arg_none,   APTR(&GP.noencoder), "don't initialize encoder"},
    {"focout",  NEED_ARG,   NULL,   'f',    arg_string, APTR(&GP.focfilename),"filename where to store focus data"},
    end_option
};

с тем что у меня:

model = calc.wrap(Model())
model.stoch0 = False
model.parallel = True
model.f_rank = 2
model.f_use = True
model.data_rank = 6
model.J = 1.
model.dt = 1e-2
model.T = 1.
model.K = 0.
model.gamma = 1.
model.alpha = 0.1
model.Hext = vecf(0., 0., calc.Hz)
model.nK = vecf(0., 0., 1.)
model.M0 = vecf(0., 0., 1.)

Tc = 1.5 if cvar.mode=='CCC' else 2.2 if cvar.mode=='VCC' else 3.3
if Tc-.8<=model.T and model.T<=Tc+1.4: calc.t_relax0 *= 2
if Tc-.4<=model.T and model.T<=Tc+.7: calc.t_relax0 *= 2
if Tc-.2<=model.T and model.T<=Tc+.3: calc.t_relax0 *= 2
calc.t_max = calc.t_relax0+2*calc.t_relax+2*calc.t_eq

я могу не только параметры задавать,я могу туда любой код по ходу пьесы добавлять - а тебе это надо размазывать по пяти файлам. Не говоря уже про то что у тебя много букв.

Исходная версия AntonI, :

Ну и сравни вот эту свою портянку

myoption cmdlnopts[] = {
    // set 1 to param despite of its repeating number:
    {"help",    NO_ARGS,    NULL,   'h',    arg_none,   APTR(&help),        "show this help"},
    {"node",    NEED_ARG,   NULL,   'n',    arg_int,    APTR(&GP.nodenum),   "encoder node number"},
    {"reset",   NO_ARGS,    NULL,   'r',    arg_none,   APTR(&GP.reset),     "reset encoder"},
    {"verbose", NO_ARGS,    NULL,   'v',    arg_int,    APTR(&GP.verbose),   "show more info"},
    {"motorid", NEED_ARG,   NULL,   'i',    arg_int,    APTR(&GP.motorID),   "motor controller address"},
    {"gotopos", NEED_ARG,   NULL,   'g',    arg_double, APTR(&GP.gotopos),   "target focus position"},
    {"targspeed",NEED_ARG,  NULL,   't',    arg_double, APTR(&GP.targspeed), "move motor with constant speed (rev/min)"},
    {"stop",    NO_ARGS,    NULL,   's',    arg_none,   APTR(&GP.stop),      "stop motor"},
    {"monitor", NEED_ARG,   NULL,   'm',    arg_double, APTR(&GP.monitspd),  "move a little with given speed with monitoring"},
    {"eswstate",NO_ARGS,    NULL,   'e',    arg_none,   APTR(&GP.showesw),   "show end-switches state"},
    {"logfile", NEED_ARG,   NULL,   'l',    arg_string, APTR(&GP.logname),   "logfile name and path"},
    {"server",  NO_ARGS,    NULL,   'S',    arg_none,   APTR(&GP.server),    "work as server"},
    {"port",    NEED_ARG,   NULL,   'P',    arg_string, APTR(&GP.port),      "server port number (default: " DEFPORT ")"},
    {"host",    NEED_ARG,   NULL,   'H',    arg_string, APTR(&GP.host),      "host to connect (default: localhost)"},
    {"standalone",NO_ARGS,  NULL,   'A',    arg_none,   APTR(&GP.standalone),"run as standalone application"},
    {"pidfile", NEED_ARG,   NULL,   'p',    arg_string, APTR(&GP.pidfilename),"name of PID-file (default: " DEFPIDNAME ")"},
    {"preset",  NEED_ARG,   NULL,   '0',    arg_longlong,APTR(&GP.chpresetval),"change preset value"},
    {"nomotor", NO_ARGS,    NULL,   'M',    arg_none,   APTR(&GP.nomotor),   "don't initialize motor"},
    {"noencoder",NO_ARGS,   NULL,   'E',    arg_none,   APTR(&GP.noencoder), "don't initialize encoder"},
    {"focout",  NEED_ARG,   NULL,   'f',    arg_string, APTR(&GP.focfilename),"filename where to store focus data"},
    end_option
};

с тем что у меня:

model = calc.wrap(Model())
model.stoch0 = False
model.parallel = True
model.f_rank = 2
model.f_use = True
model.data_rank = 6
model.J = 1.
model.dt = 1e-2
model.T = 1.
model.K = 0.
model.gamma = 1.
model.alpha = 0.1
model.Hext = vecf(0., 0., calc.Hz)
model.nK = vecf(0., 0., 1.)
model.M0 = vecf(0., 0., 1.)

Tc = 1.5 if cvar.mode=='CCC' else 2.2 if cvar.mode=='VCC' else 3.3
if Tc-.8<=model.T and model.T<=Tc+1.4: calc.t_relax0 *= 2
if Tc-.4<=model.T and model.T<=Tc+.7: calc.t_relax0 *= 2
if Tc-.2<=model.T and model.T<=Tc+.3: calc.t_relax0 *= 2
calc.t_max = calc.t_relax0+2*calc.t_relax+2*calc.t_eq

я могу не только параметры задавать,я могу туда любой код по ходу пьесы добавлять - а тебе это надо размазывать по пяти файлам. Не говоря уже про то что много букв.