gpt4 book ai didi

c++ - 如何使用 C 预处理器用环境变量进行替换

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:10:31 24 4
gpt4 key购买 nike

在下面的代码中,我希望在编译时从环境变量 MY_VERSION 的值中获取 THE_VERSION_STRING 的值

namespace myPluginStrings {
const char* pluginVendor = "me";
const char* pluginRequires = THE_VERSION_STRING;
};

所以如果我输入:

export MY_VERSION="2010.4"

pluginRequires 将设置为“2010.4”,即使 MY_VERSION 在运行时设置为其他值也是如此。

更新:(2 月 21 日)感谢大家的帮助。有用。当我使用 Rake 作为构建系统时,我的每个 CFLAGS 都是一个 ruby​​ 变量。此外,这些值需要以引号结尾。因此,我的 gcc 命令行需要如下所示:

gcc file.c -o file -D"PLUGIN_VERSION=\"6.5\"" 

这意味着这是在我的 Rakefile 中:

"-D\"PLUGIN_VERSION=\\\"#{ENV['MY_VERSION']}\\\"\""

最佳答案

如果我没记错的话,你可以使用命令行参数-D在编译时用 gcc #define 一个值。

即:

$ gcc file.c -o file -D"THE_VERSION_STRING=${THE_VERSION_STRING}"

关于c++ - 如何使用 C 预处理器用环境变量进行替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2299824/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com