發表文章

目前顯示的是 4月, 2020的文章

[嵌入式系統] Makefile詳解

[嵌入式系統]Makefile詳解 參考資料:  http://www.linux.org.tw/CLDP/OLD/doc/makefile-ch1.html http://kunhsien.blogspot.com/2014/04/makefile.html 第一章 -  Makefile語法的基本規則: 1.”每一個命令列的開頭都要是一個tab字元(四個空格)”. 2.makefile會忽略描述檔中的空白行且亦會忽略掉#(註解) 3.設定make clean命令列 clean : /bin/rm –f core *.o 意指強制移除.o的檔案 簡單範例第一步:cc -c main.c        編譯main.c程式 進階範例第二步:plot_prompt : basic.o prompt.o //宣告plot_prompt由basic.o與prompt.o兩個檔案組成 cc –o plot_prompt basic.o prompt.o plot_win : basic.o window.o   //宣告plot_prompt由basic.o與window.o兩個檔案組成 cc –o plot_win basic.o window.o basic.o : basic.c  //宣告basic.o由basic.c產生 cc –c basic.c prompt.o : prompt.c  //宣告prompt.o由prompt.c產生   cc –c prompt.c window.o : window.c    cc –c window.c 第二章 - (巨集與後置規則): Reference:http://www.linux.org.tw/CLDP/OLD/doc/makefile-ch2.html 1.可用$(name) 或${name}定義巨集 2.描述檔中#代表巨集定義結束並開始註解 3.巨集名稱前不允許有tab字元且等號前也不能有冒號: 4.EXECS = ${SOURCES:.c=}  //sources的內容 去掉.c 5.$@  and  $?(未完成) 7.>>(未完成) 使用make時加上 –e 這個選項,這

千萬千萬不要運行的Linux命令!(轉載)

[Linux] 千萬千萬不要運行的 Linux 命令! ( 轉載 ) 本文轉自: http://www.liusuping.com/ubuntu-linux/weixian-linux-mingling.html 文中列出的命令絕對不可以運行,即使你覺得很好奇也不行,除非你是在虛擬機上運行(出現問題你可以還原),因為它們會實實在在的破壞你的系統。所以不在 root 等高級管理權限下執行命令是很好的習慣。 早晚有一天, Linux 系統會像 Windows 那樣流行,用的人越來越多,包括對電腦不是很瞭解的人,本文的目的就是告訴大家:在 Linux 給你最大程度自由度的同時,也使得破壞系統變得更加容易,如果你不了解某些命令的意義,下載執行包含惡意命令的腳本,或者被騙運行某些命令,很容易讓你哭都來不及。 這並不是說明 Linux 不安全,只是說明在不了解 Linux ,和很不小心的人面前, Linux 十分不安全。 Windows 也好, Linux 也好,人本身才是最大的不安全因素。 下麵的命令會刪除你硬碟上的檔, rm 的 -r 遞歸刪除,和 -f 強制刪除是很危險的選項,即使日常操作,也會遇到誤刪檔的情況。 sudo rm -rf / 刪除根分區全部的檔 sudo rm -rf . 刪除當前目錄下的所有檔 sudo rm -rf * 同上 rm -rf * or rm -rf *.* 同上 rm -rf ~ / & 刪除根分區和家目錄,即使你不是 root ,家目錄還是不能倖免。 同樣,如果你不知道 mkfs.xxxx (xxxx 可以是 vfat 、 ext2 、 ext3 、 bfs……) 是格式化命令的話,運行下麵的命令會擦除你的硬碟分區: sudo mkfs.xxxx dd 是強大的 IO 輸入輸出定向工具,如果使用不當,破壞性很大,不僅僅是當前分區,當前系統,有的時候是整個硬碟。 sudo dd if=/dev/zero of=/dev/sda 全部硬碟清零。 sudo dd if=/dev/sda of=/dev/sdb 用第一塊硬碟的內容覆蓋第二塊的內容。 sudo dd if=something of=/dev/sda 往硬碟上寫垃圾數據。 同理,直接把命令結果定向到硬碟上,相當於往硬碟上寫垃圾數據: any_command &