<menu id="w8yyk"><menu id="w8yyk"></menu></menu>
  • <dd id="w8yyk"><nav id="w8yyk"></nav></dd>
    <menu id="w8yyk"></menu>
    <menu id="w8yyk"><code id="w8yyk"></code></menu>
    <menu id="w8yyk"></menu>
    <xmp id="w8yyk">
    <xmp id="w8yyk"><nav id="w8yyk"></nav>
  • 網站首頁 > 物聯資訊 > 技術分享

    將Linux下編譯的warning警告信息輸出到文件中[整理筆記]

    2016-09-28 00:00:00 廣州睿豐德信息科技有限公司 閱讀
    睿豐德科技 專注RFID識別技術和條碼識別技術與管理軟件的集成項目。質量追溯系統、MES系統、金蝶與條碼系統對接、用友與條碼系統對接

    Linux中,腳本語言環境中,即你用make xxx即其他一些普通linux命令,比如ls,find等,不同的數字,代表不同的含義: 
    數字 含義 標準叫法
    0 標準輸入  stdin = standard input
    1 標準輸出  stdout = standard output
    2 標準錯誤輸出  stderr = standard error

    系統默認的stdin,stdout,stderr,都是屏幕,所以,當你執行命令,比如make,后,所輸出的信息,都是可以在屏幕上看到的。
    所以,想要將對應信息輸出到某個文件中,就用對應的數字加上重定向符號'>',實現將這些信息,重新定向到對應的文件中,即可。
    (上面這兩句,也是之前太多的人來解釋,但是沒有說明白的地方。)
    下面以make命令為例來說明,如何把對應的信息,輸出到對應的文件中:

    【用法】 1.想要把make輸出的全部信息,輸出到某個文件中,最常見的辦法就是:
    make xxx > build_output.txt
    此時默認情況是沒有改變2=stderr的輸出方式,還是屏幕,所以,如果有錯誤信息,還是可以在屏幕上看到的。
    2.只需要把make輸出中的錯誤(及警告)信息輸出到文件中ing,可以用:
    make xxx 2> build_output.txt
    相應地,由于1=stdout沒有變,還是屏幕,所以,那些命令執行時候輸出的正常信息,還是會輸出到屏幕上,你還是可以在屏幕上看到的。
    3.只需要把make輸出中的正常(非錯誤,非警告)的信息輸出到文件中,可以用:
    make xxx 1> build_output.txt
    相應地,由于2=stderr沒有變,還是屏幕,所以,那些命令執行時候輸出的錯誤信息,還是會輸出到屏幕上,你還是可以在屏幕上看到的。
    4.想要把正常輸出信息和錯誤信息輸出到分別的文件中,可以用:
    make xxx 1> build_output_normal.txt 2>build_output_error.txt
    即聯合使用了1和2,正常信息和錯誤信息,都輸出到對應文件中了。
    5. 所有的信息都輸出到同一個文件中:
    make xxx > build_output_all.txt 2>&1
    其中的2>&1表示錯誤信息輸出到&1中,而&1,指的是前面的那個文件:build_output_all.txt 。
    注意:上面所有的1,2等數字,后面緊跟著大于號'>' ,中間不能有空格
        具體的使用方法: 在編譯修改好的UBOOT時,個人喜歡自己建個小shell,這樣每次不用敲很多命令,就能搞定了。   uboot的shell如下:   #!/bin/sh
    echo "    uboot creating......"

    echo "distclean ..."
        make distclean CROSS_COMPILE=arm-none-linux-gnueabi-

    echo "make at91sam9260ek_config ..."
        make at91sam9260ek_config CROSS_COMPILE=arm-none-linux-gnueabi- 2>warning.txt

    echo "make all..."
        make all CROSS_COMPILE=arm-none-linux-gnueabi- 2>warning.txt

    echo "copy uboot.bin to /opt/uboot_bin!"
        cp u-boot.bin /mnt/hgfs/share/uboot_bin/
    echo "make OK!"
      解釋:使用的板子是9260, 以下語句就將編譯過程的中產生的警告信息打印到文件warning.txt中了 make at91sam9260ek_config CROSS_COMPILE=arm-none-linux-gnueabi- 2>warning.txt make all CROSS_COMPILE=arm-none-linux-gnueabi- 2>warning.txtRFID管理系統集成商 RFID中間件 條碼系統中間層 物聯網軟件集成
    最近免费观看高清韩国日本大全