編寫簡單的遞歸函數,命名爲factial.c函數
#include <stdio.h> int main(){ int sum = factial(5); } factial(int n){ if(n==2){ return 2; } return n * factial(n-1); }
gcc factial.c -o factial -g
這裏的-g參數方便調試,生成可執行文件fatial
按下圖方式進行操做
單步運行spa
顯示當前的frame和stack調試
顯示寄存器的值code
能夠看到遞歸調用的堆棧遞歸
代碼地址ip
函數調用信息it