C++ VS2017 编译调用 gflags

源码下载:

git clone https://github.com/gflags/gflags.git

cmake-gui 默认编译即可

编译生成 debug/release 版本

创建测试 demo

#include <gflags/gflags.h>
#include <iostream>
using namespace std;

DEFINE_bool(is_bool, false, "default false");
DEFINE_string(is_string, "gflags", "default gflags");

int main(int argc, char ** argv)
{
	// 输出参数
	google::ParseCommandLineFlags(&argc, &argv, true);

	if (FLAGS_is_bool)
	{
		cout << "\r\n\t FLAGS_is_bool : true." << endl;
	}
	else
	{
		cout << "\r\n\t FLAGS_is_bool : false." << endl;
	}

	if (FLAGS_is_string.empty())
	{
		cout << "\r\n\t FLAGS_is_string : empty." << endl;
	}
	else
	{
		cout << "\r\n\t FLAGS_is_string : " << FLAGS_is_string << endl;
	}

	getchar();
	return 0;
}

附加依赖项需要添加 :

 

 命令参数为空时, 输出默认值

 命令参数不为空时, 输出参数值

输出如图

终端或者脚本调用, 格式如下

demo --is_bool=true  --is_string=shisen

 

gflags.h 是一个在 Windows 编程中使用的头文件,它提供了一些宏定义和函数声明,用于设置和获取应用程序的全局标志值。这些标志值可以在运行时进行修改,以便调整程序的行为。 在 Windows 上编译使用 gflags.h 头文件的步骤如下: 第一步,首先需要将 gflags.h 头文件包含在程序的源代码中,可以使用以下方式包含: ```c++ #include <gflags/gflags.h> ``` 第二步,安装 gflags 库。在 Windows 上,可以通过从官方网站下载源代码并使用 CMake 构建来进行安装。 第三步,确保在编译器的 include 路径中添加了 gflags.h 头文件的路径。可以在程序的项目设置中添加相应路径,或者使用 `-I` 编译选项将该路径传递给编译器。 第四步,编写使用 gflags.h 的代码。在代码中,可以使用 `DEFINE_XXX` 宏来定义全局标志,例如: ```c++ DEFINE_bool(verbose, false, "Enable verbose mode"); DEFINE_int32(num_threads, 4, "Number of threads"); DEFINE_string(input_file, "", "Input file path"); ``` 这样就可以定义了三个全局标志,分别是 `verbose`,`num_threads` 和 `input_file`。第一个参数是标志的名称,第二个参数是标志的默认值,第三个参数是标志的描述信息。 第五步,使用 `FLAGS_XXX` 变量来获取和设置标志的值。例如,可以通过 `FLAGS_verbose`、`FLAGS_num_threads` 和 `FLAGS_input_file` 分别获取和设置对应标志的值。 编译程序时,需要链接 gflags 库。可以在编译命令中使用 `-l` 选项来链接该库,例如: ```shell g++ -o myapp myapp.cpp -lgflags ``` 这样就可以完成使用 gflags.h 在 Windows 上的编译了。 需要注意的是,以上步骤只是一个基本的示例,具体的编译过程可能会因为不同的开发环境和项目设置而有所不同。参考相应的文档或者使用示例代码来进行更详细的设置和编译
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值