在Makefile中进行宏定义-D
在Makefile中我们可以通过宏定义来控制源程序的编译。只要在Makefile中的CFLAGS中通过选项-D来指定你于定义的宏即可。
如:
CFLAGS += -D _YUQIANG
在编译的时候加上此选项就可以了: $(CC) $(CFLAGS) $^ -o $@
下面是我写的一个测试文件:
例如:
Makefile文件内容为:
CC = gcc
RM = rm
CFLAGS += -D _YUQIANG
TARGETS := myapp
all:$(TARGETS)
$(TARGETS):main.c
$(CC) $(CFLAGS) $^ -o $@
clean:
-$(RM) -f *.o
-$(RM) -f $(TARGETS)
main.c文件的内容为:
#include <stdio.h>
int main()
{
#ifdef _YUQIANG
printf("Hello Yu Qiang, How are you?/n");
#else
printf("Sorry to lost you. /n");
#endif
return 0;
}
在端口中输入 make clean all
然后输入 ./myapp
结果 Hello Yu Qiang, How are you?
在Makefile中进行宏定义-D相关推荐
- Makefile中用宏定义进行条件编译(gcc -D)/在Makefile中进行宏定义-D
在源代码里面如果这样是定义的: #ifdef MACRONAME //可选代码 #endif 那在makefile里面 gcc -D MACRONAME=MACRODEF 或者 gcc ...
- 如何在Linux kernel Makefile中添加宏定义
如何在Linux kernel Makefile中添加宏定义: CFLAGS_object.o += -DMACRO_NAME 在编译object.o时定义宏MACRO_NAME,在kernel中添加 ...
- Makefile中传递宏定义字符串给C
makefile中这样定义一个字符串: USER_CONFIG_APP_KEY ="8193" USER_CONFIG_APP_SECRET ="bad7e97f3c41 ...
- Linux 内核中的宏定义
Linux 内核中的宏定义 rtoax 日期 内核版本:linux-5.10.13 注释版代码:https://github.com/Rtoax/linux-5.10.13 __attribute__ ...
- Linux内核源码中使用宏定义的若干技巧
在C中,宏定义的概念虽然简单,但是真要用好却并不那么容易,下面从Linux源码中抽取一些宏定义的使用方法,希望能从中得到点启发: 1. 类型检查 比如module_init的宏定义: 点击(此处)折叠 ...
- NASM汇编程序中的宏定义
NASM汇编程序中的宏定义 格式如下: %macro 宏名 参数名列表 宏体 %endmacro 如: %macro Descriptor 3 dw %2 & 0FFFFh dw %1 &am ...
- 关于gcc扩展中的宏定义中用 # 和 ##
关于gcc扩展中的宏定义中用 "#" 和 "##" 今天测试了宏定义中的 "#" 和 "##" 的区别. 结果如下: & ...
- C++中的内联函数和C中的宏定义的区别
在C++中内联函数: 内联函数即是在函数的声明和和定义前面加上"inline"关键字,内联函数和常规函数一样,都是按照值来传递参数的,如果参数为表达式,如4.5+7.5,则函数将传 ...
- C++中的宏定义详解
转载自:C++中的宏定义 和 C++宏定义详解 目录 一.#define解析 1 #define命令剖析 1.1 #define的概念 1.2 宏替换发生的时机 1.3 ANSI标准说明了五个预定 ...
最新文章
- python多张图片合并拼接,python制作sprite图、雪碧图
- 什么是伪静态?SEO中如何理解伪静态?
- 认识高清视频编码(MPEG、H.264、WMV-HD、RMVB)
- idea中event log_【JavaScript 教程】事件——Event 对象
- 动态改变_Excel中如何动态改变可编辑区域?
- android x86 arm translator,让x86的android模拟器能模拟arm架构系统
- 一条关于swap争用的报警邮件分析(一)
- 深入浅出C/C++中的正则表达式库(一)--GNU Regex Library
- Android的JNI【实战教程】5⃣️---Android Studio 2.2 以上 NDK开发
- win7录屏_这款高清免费无水印的录屏软件,99%的人用过都说好!
- ActiveX控件开发流程
- LabelImg操作手册
- eclipse php使用方法,Eclipse PHPEclipse 配置的具体步骤
- 安卓编程用什么软件_STM32用什么软件编程?
- ipv6协议学习笔记(1)-ipv6基础
- 解决pr调用麦克风的问题
- 最简单的输出四位数的每个位上的数字
- 大连理工版小学计算机教案,大连理工版小学信息技术教案
- 聊聊目标检测中的多尺度检测(Multi-Scale),从YOLO,ssd到FPN,SNIPER,SSD填坑贴和极大极小目标识别
- 智能车竞赛技术报告 | 全向行进组 - 东北林业大学- 进取号E
热门文章
- Django相关配置(包括数据库、templates、static等)信息—Django2.0
- Keras 构建DNN 对用户名检测判断是否为非法用户名(从数据预处理到模型在线预测)...
- python基础之字符编码、文件处理
- [No000048]程序员的成长过程中,有哪些阶段?
- Java字符编码知识简介
- 误删除 Oracle 数据库数据的恢复方法
- 编码优先级表达的严重性
- Eclipse,提交代码,版本比较时,不忽略空格
- 警惕分页中的checkbox
- Eclipse中Tab的配置(设置为按一下Tab键,效果是按4次空格,而不是4个空格的缩进)