• Makefile中用宏定义进行条件编译


    在源代码里面如果这样是定义的:
    #ifdef   MACRONAME
    //可选代码
    #endif

    那在makefile里面
    gcc   -D   MACRONAME=MACRODEF
    或者
    gcc   -D   MACRONAME

    这样就定义了预处理宏,编译的时候可选代码就会被编译进去了。

    对于GCC编译器,有如下选项:
            -Dmacro=string 或 -D macro=string,等价于在头文件中定义:#define   macro   string。例如:-D TRUE=true,等价于:#define   TRUE   true
            -Dmacro 或 -D macro,等价于在头文件中定义:#define   macro   1,实际上也达到了定义:#define   macro的目的。例如:-DLINUX,等价于:#define   LINUX   1(而在源码中的 #define   LINUX 是将LINUX定义为空,但LINUX这个宏定义有效)。
            --define-macro   macro=string与-D macro=string作用相同。

    使用 make V=1 可以打印编译的命令log。在编译android的源码时,可以用 make showcommands 来显示编译的命令,与make V=1一样,但不知 showcommands 是否对其它的linux类编译是否有效。

  • 相关阅读:
    Bash快捷键
    Java Web学习笔记--JSP for循环
    Python学习笔记--简介
    Java学习笔记-数组
    JavaScript学习笔记一
    Java数组
    MongoDB学习---安装配置
    Java Web学习笔记-Servlet不是线程安全的
    Java Web学习笔记-重定向Redirect
    获取汇率的BAPI
  • 原文地址:https://www.cnblogs.com/welhzh/p/5607824.html
Copyright © 2020-2023  润新知