makefile宏定义:EXTRA_CFLAGS += -D 与CONFIG_ =y

EXTRA_CFLAGS += -D 与CONFIG_ =y

1.

假如定义一个宏CONFIG_DEBUG

在.c里面定义为:#define CONFIG_DEBUG

在makefile里定义为: CONFIG_DEBUG=y

假如说我们想在makefile里为.c文件进入一个宏定义,就用EXTRA_CFLAGS += DCONFIG_DEBUG( 等价于在.c文件里定义#define CONFIG_DEBUG)

这时CONFIG_DEBUG=y与EXTRA_CFLAGS += DCONFIG_DEBUG的区别应该你已经看出来的,前者是对makefile编译时用的,比如说obj-(CONFIG_DEBUG) += test.o,而后者则是对.c源文件里的 用的,比如说:

#if defined(CONFIG_DEBUG)

...

#else

...

#endif

2.

假如定义一个宏CONFIG_DEBUG = 3

在.c里面定义为:#define CONFIG_DEBUG 3

假如说我们想在makefile里为.c文件进入一个宏定义,就用EXTRA_CFLAGS += -DCONFIG_DEBUG=3

此时两者的定义完全相同。

Makefile:宏定义EXTRA_CFLAGS += -D 与CONFIG_ =y相关推荐

  1. EXTRA_CFLAGS += -D 与CONFIG_ =y

    EXTRA_CFLAGS += -D 与CONFIG_ =y 1. 假如定义一个宏CONFIG_DEBUG 在.c里面定义为:#define CONFIG_DEBUG 在makefile里定义为: C ...

  2. linux makefile 宏定义

    0.前言 从学习C语言开始就慢慢开始接触makefile,查阅了很多的makefile的资料但总感觉没有真正掌握makefile,如果自己动手写一个makefile总觉得非常吃力.所以特意借助博客总结 ...

  3. 使用宏定义写出swap(x,y)

    一般答案: #define swap(x,y) x = x + y; y = x - y; x = x - y; 但是在以下情况会出错! if( x > y) { swap( x , y ); ...

  4. 子程序调用与宏定义的异同_冒泡排序_汇编语言的子程序调用与宏定义实现

    1 子程序 ;环境为ADS 子程序调用 AREA MAIN,CODE,READONLY ENTRY CODE32 start BL MAOPAO stop MOV R0,#0x18 LDR R1,=0 ...

  5. C语言宏定义的几个坑和特殊用法

    总结一下C语言中宏的一些特殊用法和几个容易踩的坑.由于本文主要参考GCC文档,某些细节(如宏参数中的空格是否处理之类)在别的编译器可能有细微差别,请参考相应文档. 宏基础 宏仅仅是在C预处理阶段的一种 ...

  6. C语言中宏定义的使用

    1. 引言 1.1 宏定义的基本语法 1.2 宏定义的优点 1.3 宏定义的缺点 1.4 宏还是函数 2 使用宏时的注意点 2.1 算符优先级问题 2.2 分号吞噬问题 2.3 宏参数重复调用 2.4 ...

  7. 【C语言】高级宏定义

    前言 宏定义分为不带参数的宏定义和带参数的宏定义,不带参数的宏定义就是普通的宏定义,带参数的宏定义则稍稍复杂.下面将结合一些例子讲解这些显得比较高级的宏定义. 文章目录 前言 一.高级宏定义 1.#d ...

  8. 标C编程笔记day04 预处理、宏定义、条件编译、makefile、结构体使用

    预处理:也就是包括须要的头文件,用#include<标准头文件>或#include "自己定义的头文件" 宏定义,如:#define PI 3.1415926 查看用宏 ...

  9. 如何在Linux kernel Makefile中添加宏定义

    如何在Linux kernel Makefile中添加宏定义: CFLAGS_object.o += -DMACRO_NAME 在编译object.o时定义宏MACRO_NAME,在kernel中添加 ...

最新文章

  1. python对初学者的看法_python学习之道(1)——新手小白对print()函数的理解,Python,之路,一,浅谈...
  2. python聚类分析案例_深度解读|如何构建用户分级体系实现精细化运营?附案例实操...
  3. 程序包androidx.appcompat.app不存在
  4. Visio2016下载激活破解
  5. 快速入门linux(收藏版)
  6. 助力极致体验,火山引擎边缘计算最佳实践
  7. 自己制作深度学习数据集教程
  8. 大数据笔记--Hadoop(第五篇)
  9. 苹果7pnfc功能门禁卡_苹果7手机nfc怎么开启 苹果手机门禁卡nfc功能
  10. linux驱动开发(三):Linux字符设备驱动实例
  11. [原创]中国大陆民谣盘点4 小柯《小柯》
  12. 驱动器空间、关节空间与笛卡尔空间
  13. 新旧iPhone齐发力,苹果成最大赢家,中国手机靠小米挽回颜面
  14. 独立循环神经网络(indRNN)
  15. pythonopencv人脸识别考勤_Python+Opencv+Tkinter指纹识别与人脸识别的门禁兼考勤(一)...
  16. WebGL探索——抉择:实践方向(twgl.js、Filament、Claygl、BabylonJS、ThreeJS、LayaboxJS、SceneJS、ThinkJS、ThingJS)
  17. dxc 1.0 多线程详解
  18. 巨杉数据库入选“金融科技高成长企业TOP30”榜单
  19. 单片机VIN VOUT VCC GND是什么
  20. 计算智能——遗传算法的多维函数优化

热门文章

  1. 安卓安装之离线搭建Android Studio开发环境
  2. 什么是.NET Framework
  3. 洛谷P4593 [TJOI2018]教科书般的亵渎(拉格朗日插值)
  4. Selenuim 三种等待方式解读
  5. Windows10下python3.5的sklearn库安装
  6. IntelliJ IDEA提示忽略大小写
  7. CentOS被攻击的分析过程
  8. 教你如何在Ubuntu中创建 Sudo用户
  9. 企业实战|Mysql不停机维护主从同步
  10. zabbix使用ICMP ping监控网络状态