Gcc 编译时指定宏

gcc 编译指定宏

那在makefile里面
gcc -DMACRONAME=MACRODEF
或者
gcc -DMACRONAME
这样就定义了预处理宏,编译的时候可选代码就会被编译进去了。
举例说明:
-Dmacro=string,等价于在头文件中定义:#define macro string。
-DTRUE=true,等价于在头文件中定义:#define TRUE true
-Dmacro,等价于在头文件中定义:#define macro 1,实际上也达到了定义:#define macro的目的。
-DLINUX,等价于:#define LINUX 1(与#define LINUX作用类似)。
–define-macro macro=string与-Dmacro=string作用相同。

Qt pro文件中示例

原程序

#include <iostream>

using namespace std;

int main()
{
#ifdef DEF
    cout<<"abc"<<endl;
#else
    cout<<"xyz"<<endl;
#endif
    return 0;
}

pro文件

TEMPLATE = app
CONFIG += console c++11
CONFIG -= app_bundle
CONFIG -= qt

SOURCES += main.cpp

QMAKE_CXXFLAGS += -DDEF

编译输出

g++ -c -pipe -fno-keep-inline-dllexport -DDEF -g -std=gnu++11 -frtti -Wall -Wextra -fexceptions -mthreads -DUNICODE -DQT_QML_DEBUG

执行结果

这里写图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

developer_wgl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值