20145313張雪純《信息安全系統設計基礎》第3周學習總結
教材學習內容總結
本周教材主要學習第二章。
這一章中主要講了數據在計算機中的存儲方式,特別是各種類型的數字數據。實際上數據在計算機中的存儲是以二進制形式進行的,存儲時的字節順序有大端、小端兩種。個人理解,大端是指高位存儲在低地址、小端正好相反。同一段二進制數據,以不同方式讀取時會表現不同,實際上是相同的。各個類型的數據轉換時可能會出現錯誤。大部分知識點C語言、匯編程序設計和計算機計算機導論等等課程都已經講過,不在此贅述。
我認為這一章的學習是為了讓我們更好地理解數據在計算機中的存儲,以便在編程時不至於因為數據類型的變化而導致程序運行錯誤。
重點練習
-
p24 進制轉換
- 這個代碼在運行時出現了問題。
-
p28 參考p30代碼,寫個main函數測試show_bytes
-
p35 用GDB單步跟蹤練習2.11
-
p44 把代碼放到一個main函數中,用GDB單步跟蹤一下
- p47/p49 代碼放到一個main函數中,用GDB單步跟蹤
- p78 寫幾行代碼測試轉換規則。
代碼調試中的問題和解決過程
-
p24中的perl文件,在虛擬機中安裝了perl軟件后,運行時顯示“沒有那個文件或目錄”
- 解決:檢查后發現在代碼中定義了文件路徑,修改后這個問題消失。
- 解決:檢查后發現在代碼中定義了文件路徑,修改后這個問題消失。
-
p24,.pl執行時顯示權限不夠。
- 百度后得知.pl文件運行需要使用chmod命令增加權限,但當我輸入
chmod +x test.pl
后仍然提示權限不夠,手動設置文件權限后仍無法解決。(大概)進入了root權限仍然權限不夠??
- 百度后得知.pl文件運行需要使用chmod命令增加權限,但當我輸入
-
p35中的代碼,在vs中運行不出結果
- 在vim中可正常運行,並可在gdb中單步調試。不知原因。
- 在vim中可正常運行,並可在gdb中單步調試。不知原因。
-
在用gdb單步執行p35的代碼時,莫名跳過了第一個
scanf
,導致進入for循環無法退出。- 解決:先用
c
命令運行至下一斷點,再用quit
跳出循環。這是不小心發現的辦法,不知道是否正確。
- 解決:先用
家庭作業##
-
2.56 用不同示例值運行P28代碼
-
2.59
- (x&0xFF) | (y&~0xFF)
-
2.61
- A. !~x
- B. !x
- C. !~(x>>((sizeof(int)-1)<<3))
- D. !(x&0xFF)
本周代碼托管截圖
其他
原來較為輕視課本的學習,總想走捷徑,這次一頁頁讀過課本以后發現自己對這些基礎知識有了更深刻的了解。其實閱讀課本也是很重要的。有時候看上去很笨的方法可能是最有效的。
學習進度條
代碼行數(新增/累積) | 博客量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
---|---|---|---|---|
目標 | 5000行 | 30篇 | 400小時 | |
第一周 | 200/200 | 1/1 | 20/20 | |
第二周 | 300/500 | 1/2 | 18/38 | |
第三周 | 500/1000 | 1/3 | 22/60 | |
第四周 | 300/1300 | 1/4 | 10/70 |