是否有任何简单方法用对应于环境变量列表的宏定义填充头文件?
我们说我有类似头文件的模板:
#pragma once
#ifndef DEFINES_H__INCLUDED
#define DEFINES_H__INCLUDED
//{{
// I want to place the #defines here...
//}}
#endif // DEFINES_H__INCLUDED
现在,我可以检查系统中是否定义了一些环境变量(在预定义集合的边界内),并将相应的#define
放入此标头中。即如果有_SOME_VAR
我想将#define _SOME_VAR
放入标题中。和其他变种一样。
我不需要以这种方式完成这项任务。一般来说,我需要根据环境变量或其他东西来构建我的程序。我使用make
实用程序构建它,但我无法更改makefile
的内容,因为它是自动生成的。
我看到我问过config.h
中config.in
来自autoconf
的{{1}},但我不需要那么重的工具就可以做到这么简单(初看起来)任务
提前谢谢!
答案 0 :(得分:2)
您可以在Visual Studio上使用预处理器选项:"/D"或在gcc上使用"-D"
使用gcc
gcc -std=c11 -o demo demo.c -DMY_HOME=\"$HOME\"
环境变量的示例
gcc -std=c11 -o demo demo.c -DMY_HOME=\"$HOME\" -DMY_USER=\"$USER\"
您可以传递多个变量:
{{1}}
答案 1 :(得分:1)
答案 2 :(得分:1)
最佳变体是将这些行放到项目目录中的return;
:
SELECT
UserID, SessionID,
MIN(timestamp) StartTime, MAX(timestamp) EndTime,
DATEDIFF(s,MIN(timestamp), MAX(timestamp)) SecondsDifference
FROM
Table
GROUP BY
UserID, SessionID
并将makefile.defs
添加到项目属性的“其他标志”字段> C / C ++ Build>设置>工具设置>杂。
感谢所有回答的人。