Re: Program input parameters/options
On Jun 9, 12:51 am, Gianni Mariani <gi3nos...@mariani.ws> wrote:
barcaroller wrote:
Is there a recommended method of parsing program input
parameters/options in C++ programs?
The three methods that I know of are:
- C's getopt() and getopt_long()
- GNU C++ GetOpt class
- Boost.Program_options class library
You left out common c++'s "CommandOption".... (shameless plug).
And CommandLine/Option in the Gabi library:-).
CommandOption is a wrapper over getopt_long.
What I can find about the GetOpt class seems like it's just a call to
getopt_long.
Which still doesn't tell me much---I'm vaguely familiar with
getopt, but never used it much in C because is wasn't flexible
enough.
The feature I like about CommandOption is that it is very extensible.
It allows you to create options anywhere in your application and it gets
parsed.
Don't they all? Declaring options as static objects which
register themselves would seem a rather obvious idea.
The usage is created automatically (although it could be
better). It's simply a specify go type interface. I have not used
boost. It's relatively new.
Boost, or CommandOption?
I read the doc for Boost, and found that it did a little too
much for what I wanted. For the moment, I'm happy with my own
system, which has grown over a period of close to 15 years to
handle everything I happen to need. If you happen to need what
I need, or have needed in the past, it's probably a good
solution. If you need something else, it's probably not. This
is one case where I don't think that there is a universal
solution.
--
James Kanze (Gabi Software) email: james.kanze@gmail.com
Conseils en informatique orient=E9e objet/
Beratung in objektorientierter Datenverarbeitung
9 place S=E9mard, 78210 St.-Cyr-l'=C9cole, France, +33 (0)1 30 23 00 34