韌館-LearnHouse

gcc 參數

## -c
只生成 obj 檔,並沒有產生執行檔。
例:gcc -c hello.c

## -o
生成執行檔,file name 沒指定時,預設檔名為 a.out。
例:gcc -o hello hello.c

## -llibrary
設定 link 時需便用的 library。
例:gcc -o hello -lhell hello.c,需要的 library 為 libhello.a。

## -Ldir
設定 link 時,查找 library 的路徑。
例:gcc -o hello -lhell -L. hello.c,會在源碼目錄內找尋 libhello.a 。

Read more...

2019年3 月 posted by admin in 程式&軟體 and have No Comments

[轉]Android的開機流程及對應的程式碼位置

資料來源:https://www.cnblogs.com/l2rf/p/6605987.html

1.系統引導bootloader
1)源碼:bootable/bootloader/*
2)說明:加電後,CPU將先執行bootloader程序,此處有三種選擇
a)開機按Camera+Power啟動到fastboot,即命令或SD卡燒寫模式,不加載內核及文件系統,此處可以進行工廠模式的燒寫
b)開機按Home+Power啟動到recovery模式,加載recovery.img,recovery.img包含內核,基本的文件系統,用於工程模式的燒寫
c)開機按Power,正常啟動系統,加載boot.img,boot.img包含內核,基本文件系統,用於正常啟動手機(以下只分析正常啟動的情況)

Read more...

2019年2 月 posted by admin in 程式&軟體 and have No Comments

Windosw & Mac上好用快捷鍵

▼1.重做,反轉還原指令。

Windows 用戶: 大家都知道 Ctrl + Z可以還原前一個指令,但是你又知道按下 Ctrl + Y還可以反轉還原指令嗎?

Mac 用戶: Command + Shift + Z

▼2.截取特定視窗

Windows 用戶: PrtSc鍵可以截取視窗圖,但是想要截取特定視窗,那就要按Alt + PrtSc,這樣就不必再編輯圖片了。

Mac 用戶:Command + Shift + 4, 然後按空白鍵,視窗會有陰影效果。 Read more...

2018年10 月 posted by admin in 電腦&硬體 and have No Comments

adb shell keyevent

由於客戶的需求隱藏了Android的三個很重要的虛擬鍵,為了Debug方便,只好用指令的方式來操作

ex.

adb shell input keyevent 4 

4 -> "KEYCODE_BACK",代表執行back鍵

Read more...

2018年6 月 posted by admin in 程式&軟體 and have No Comments

[轉]Android NDK Tombstone/Crash 分析

覺得很重要,所以備份一下
資料來源:https://woshijpf.github.io/android/2016/06/14/Android-NDK-Tombstone-Crash-%E5%88%86%E6%9E%90.html

前言

作為程序員,調試 Bug 永遠是最痛苦的一件事情,而在所有的 Bug當中訪問非法內存又是最最讓人崩潰和最難發現的一個問題。

通常我們調試程序 Bug 的方法主要有下面 3 種:

  1. 打印日誌信息 這種方法通過在代碼中可能出現 Bug 的位置添加一些日誌輸出語句來跟蹤整個程序的執行過程或者查看關鍵變量的值等等。
  2. 單步調試 這個方法則主要使用到了調試工具,例如 gdb 和 Visual Studio 中內置的調試器。這些高級的工具使得我們可以在程序中任何位置設置斷點,或者查看相關變量的值,或者更進一步直接查看 CPU 中寄存器的值。
  3. 分析崩潰後的錯誤信息 這種方法則主要是分析程序崩潰之後產生的錯誤信息相關文件來確定產生 Bug 的原因和位置。

Read more...

2018年4 月 posted by admin in 程式&軟體 and have No Comments

[轉]ramdisk、ramfs、tmpfs差異

資料來源:http://blog.twtnn.com/2013/12/ramdiskramfstmpfs.html

在Linux中可以將一部分記憶體掛載成磁碟來使用,分別為:ramdisk、ramfs、tmpfs。
而在將記憶體掛載成磁碟之後,就可以把它依磁碟一般的存取它,因為是記憶體存取,
所以速度比一般的硬碟要快上非常多,但是關機後,裡面的資料也就跟著消失了。 Read more...

2018年3 月 posted by admin in Linux and have No Comments