创建一个包含 c++ 默认值的环境文件

Create a env file containing default values in c++

本文关键字:默认值 c++ 环境 文件 包含 一个 创建      更新时间:2023-10-16

我正在创建一个包含一些特定配置的c++项目。可以根据场景校准这些配置。

由于我试图解决的问题是一个优化问题,而像BigMcycles这样的配置是根据实例而有所不同的值,我相信配置文件将是一个不错的选择。

举个例子,我实际上把我的主文件的开头放了,如下所示:

#define NUM_STABILIZED 1e6 #define bigM 1e6

喜欢.env,用于nodephp项目。有一个默认模式,如.env文件在c++

在更好的情况下,我相信如下所示的"喜欢".env文件将有助于使用不同的方法运行大量测试:

大米 1e6 NUM_STABILIZED 1E6

只是为了便于运行测试,而无需每次都使用这些(实际(常量中的不同值重新编译代码。

解决此问题的常用方法是将值作为命令行参数传递:

./myapp --NUM_STABILIZED 1000000 --bigM 1000000

此方法要求您分析命令行。您可以为此使用库,例如 cxxopts。如果没有命令行参数,则可以使用默认值。

您也可以通过环境变量传递值。使用 getenv 阅读它们。

如果您希望在项目中支持 .env 文件,则可以实现自己的解析器或使用库,例如 cpp-dotenv。

没有这样的事情,但是有很多选择,一些我习惯的常见选择。

  1. 将变量作为程序参数传递。

  2. 从环境中读取所需的变量。您实际上可以创建一个包装脚本,该脚本可以设置环境变量并调用程序。

  3. 将包含所有需要的参数的配置文件作为程序选项传递。

  4. 从预定义的环境变量中读取配置文件。

通常的方法是将这些值组合在一起,例如,您从配置文件中读取所有默认值(使用上面的选项 3 或 4(,并且对于每个键,如果它们被提供(选项 1 或 2(

来自提升的Property_tree和来自提升的程序选项可根据您的需求提供跨平台支持。