gpt4 book ai didi

c++ - 如何把一个系统环境变量作为一个宏定义到一个C头文件中?

转载 作者:太空宇宙 更新时间:2023-11-04 06:18:28 25 4
gpt4 key购买 nike

有什么简单的方法可以用对应于环境变量列表的宏定义来填充头文件吗?

假设我有类似头文件模板的东西:

#pragma once
#ifndef DEFINES_H__INCLUDED
#define DEFINES_H__INCLUDED

//{{
// I want to place the #defines here...
//}}

#endif // DEFINES_H__INCLUDED

现在我可以检查系统中是否定义了一些环境变量(在预定义集的范围内)并将相应的 #define 放入此 header 中。 IE。如果有 _SOME_VAR 我想将 #define _SOME_VAR 放入标题中。其他变量也一样。

我不需要完全以这种方式完成这项任务。一般来说,我需要根据环境变量或其他东西来构建我的程序。我使用 make 实用程序构建它,但我无法更改 makefile 的内容,因为它是自动生成的。

我看到我问了一些事情,比如在 autoconf 中从 config.in 制作 config.h,但我不需要这样执行如此简单(乍一看)任务的重型工具。

提前致谢!

最佳答案

您可以使用预处理器选项:"/D"在 Visual Studio 或 "-D"在 gcc 上

使用 gcc 传递 $HOME 环境变量的示例

gcc -std=c11 -o demo demo.c -DMY_HOME=\"$HOME\"

你可以传递多个变量:

gcc -std=c11 -o demo demo.c -DMY_HOME=\"$HOME\" -DMY_USER=\"$USER\"

关于c++ - 如何把一个系统环境变量作为一个宏定义到一个C头文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40395750/

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