zoukankan      html  css  js  c++  java
  • make输出log以及dry run

    一.输出log

    如何获得Linux下make的log?
    如何保存控制台对话?
    如何将编译过程的信息保存成日志?

    编译的过程可能会出错,导致编译过程无法继续进行。详细分析出错信息,有助于解决源码中的语法错误。
    那么如何保存配置编译过程的信息?这些信息量很大,都可能超出Shell向上翻滚查看的范围。最好是把编译过程的信息保存成日志文件,方便后面的分析。
    举例说明保存编译信息的行命令,它把make过程打印的所有信息都保存在xxx.log中。
    $make 2>&1|tee xxx.log
    这条命令是编译并保存打印信息。在Linux Shell的设备定义中,“0”表示标准输入,“1”表示标准输出,“2”表示标准出错信息输出。2>&1表示把2设备的信息重定向到1设 备;“|”是管道符号,把标准输出的信息直接传递给后面的命令;tee是创建文件并保存信息的工具;xxx.log是文件名。
    这种管道的用法在Linux Shell命令中使用非常普遍。编译过程中都可以使用这个方法,生成日志文件,保存到buildlogs目录下。

    二.dry run

    http://www.cs.northwestern.edu/academics/courses/211/html/make.html

    When debugging Makefile's, the following two flags can be handy:

    • -n -- this causes make to only print the actions it would do, but not actually do them
    • -B -- this forces make to run all the actions that apply, whether or not files have changed

    Therefore, an easy way to "dry run" a Makefile is to type:

    make -B -n

    This will show the commands that the Makefile will do to build a project from scratch.

  • 相关阅读:
    xcode修改默认头部注释(__MyCompanyName__) (转)
    ios7注意事项随笔
    二分查找(BinarySearch)
    选择排序(SelectionSort)
    插入排序(InsertionSort)
    堆排序(HeapSort)
    归并排序(MergeSort)
    快速排序(QuickSort)
    基本-正则表达式
    2.5亿个整数中找出不重复的整数
  • 原文地址:https://www.cnblogs.com/cane/p/3914502.html
Copyright © 2011-2022 走看看