Я использую gflags для анализа параметров командной строки приложения c ++ (v140, x64).
По некоторым причинам я получаю разные результаты в режимах Release и Debug.
В режиме отладки аргумент не идентифицирован.
код
#include <gflags/gflags.h>
DEFINE_string(str_arg, "default param value", "string value");
int main(int argc, char *argv[])
{
std::cout << "str value before glog init: " + FLAGS_str_arg << std::endl;
//third parameter is set to false. setting it to true doesn't solve the problem
google::ParseCommandLineFlags(&argc, &argv, false);
std::cout << "str value after glog init: " + FLAGS_str_arg << std::endl;
}
выполнение команды
app.exe -str_arg new_val
выход в режиме разблокировки
str value before glog init: default param value
str value after glog init: new_val
вывод в режиме отладки
str value before glog init: default param value
str value after glog init: default param value