argvو argc فقط تعداد مقادیر پارامترهای ورودی را به شما میده ولی gflags امکاناتش بیشتره شما هر پارامتر را بسته به نوعی که داره تعریف می کنید با یک نام مقدار پیش فرض و یک توضیح به طور مثال :
DEFINE_bool(h, false, message1);
DEFINE_string(i, "", message2);
DEFINE_double(t, 0.1, message3);
DEFINE_uint32(nireq, 0, message4);
در ابتدای main برنامه argcو argv را به gflag میدید و بعدش تو هر جای برنامه می تونید ازش استفاده بکنید در صورتیکه به روش argc و argv مجبورید این تو پارامتر ها را در صورت نیاز به سرتاسر برنامه انتقال بدید.
gflags::ParseCommandLineNonHelpFlags(&argc, &argv, true);