zoukankan      html  css  js  c++  java
  • gcc的-D和-U参数:宏的设置与取消 _CCFLAGS=" -w -enable-threads=posix -DLINUX -D_REENTRANT -DWORKONGN -Dlinux -D_GN_DETAIL_SDR_"

    _CCFLAGS=" -w -enable-threads=posix -DLINUX -D_REENTRANT -DWORKONGN -Dlinux -D_GN_DETAIL_SDR_"
     
     
    开始看不懂,闹了半天就是个宏!!
    下面附带看过的参考资料:
     
     

    分类: LINUX

    这两天做LFS注意到了gcc的-D参数:在gcc命令中定义宏,比如我有如下的代码:
    /* hello.c */
    #include 

    #ifdef YES
    char* str = "Yes, this is a macro.";
    #else
    char* str = "No, there is no macro.";
    #endif

    int main()
    {
        printf("%s ", str);
        return 0;
    }
    使用-D传入宏YES来进行编译:
    recordus@LFS test # gcc -DYES -o helloyes hello.c
    recordus@LFS test # ./helloyes
    Yes, this is a macro.

    而不传入宏则是这样的:
    recordus@LFS test # gcc -o hellono hello.c
    recordus@LFS test # ./hellono
    No, there is no macro.

    gcc还有与-D对应的另一个参数-U用于取消宏,比如:
    root@LFS test # gcc -DYES -UYES -o helloyesno hello.c
    root@LFS test # ./helloyesno
    No, there is no macro.

    这大概是这两个参数最简单的应用了:)
  • 相关阅读:
    SpringBoot构建RESTful API
    Zynq7000系列之芯片系统结构概述
    FPGA编程技巧系列之按键边沿检测
    异常处理规范
    接口定义规范
    工具类编写规范
    第三个月
    测试计算器心得
    2015年三月
    第一份工作
  • 原文地址:https://www.cnblogs.com/the-tops/p/5580629.html
Copyright © 2011-2022 走看看