linux下编译makefile将宏参数传递给C文件

  1. 1、前言
  2. 2、参考
  3. 3、C文件
  4. 4、makefile文件
  5. 5、解析

1、前言

    在项目开发过程中,遇到需要将makefile中解析的参数(比如git log解析出的hash值)传入到C代码中。下面详细讲解如何实现将makefile中参数传递到C文件中。

2、参考

linux下编译 makefile 将参数传递给c文件

3、C文件

#include <stdio.h>
int main()
{
    printf("Make Time: %s  \n",MAKE_TIME);
    return 0;
}

4、makefile文件

GET_DATE := $(shell date +%F)
GET_TIME := $(shell date +%H:%M:%S)

all: main.o
    gcc -o main main.o

main.o: main.cpp
    g++ -o main.o -DMAKE_TIME=\"$(GET_DATE)\ $(GET_TIME)\" -c main.cpp

clean:
    @-rm main
    @-rm *.o
    @ls -laths

编译过程:
编译过程

运行结果:
运行结果

5、解析

在本例中,主要是通过-D参数进行传递 。-D参数为gcc编译添加宏定义选项,编译时将宏定义传递给C文件。

——————THE END!———————


本博文只能阅读,谢绝转载,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 2963033731@qq.com

文章标题:linux下编译makefile将宏参数传递给C文件

字数:218

本文作者:Soaring Lee

发布时间:2020-08-02, 15:13:47

最后更新:2021-08-13, 23:02:32

原始链接:https://soaringleefighting.github.io/2020/08/02/【工程化系列】linux下编译makefile将宏参数传递给C文件/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

×

喜欢就点赞,疼爱就打赏

相册