网站学堂 - 轻松学习从此开始!

网站学堂

当前位置: 主页 > C/C++ >

Makefile(或者shell)的变量通过gcc的-D宏定义选项传递

时间:2015-03-16 08:52来源:未知 作者:fang 点击:
在一些特别的场合需要把Makefile中定义的变量作为C源代码的初始值. 比如__DATE__宏是C已经预定义的宏,但有时候不喜欢该宏的日期格式,那么可以自己做一个。 举例如下: Makefile内容如下
在一些特别的场合需要把Makefile中定义的变量作为C源代码的初始值.
比如__DATE__宏是C已经预定义的宏,但有时候不喜欢该宏的日期格式,那么可以自己做一个。
 
举例如下:
 
Makefile内容如下:
=================================================
 
STR_A="Hello!"
 
STR_B=$(shell  date   --rfc-3339=date)
 
all:
     gcc   -DSTR_INFO=\"$(STR_A)\"     -DSTR_DATE=\"$(STR_B)\"    -o  test   main.c
 
 
----------------------------------------------------------------------------------------------------------
main.c 内容如下:
==================================================================
#include    <stdlib.h>
#include    <string.h>
#include    <stdio.h>
 
const char  info[]=STR_INFO;         // 这里的宏定义来自Makefile
const char  data[]=STR_DATE;      // 这里的宏定义来自Makefile
 
 
void  main(void)
{
          printf("%s\n", info);
          printf("%s\n", date);
}
(责任编辑:fang)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容