20155319 2017-2018-1《信息安全系統設計》第四周課堂測試、Makefile、myod
測試2-gcc測試
1.用gcc 進行預處理,編譯,匯編,鏈接vi輸入的代碼
2.生成的可執行文件中要有自己的學號
提交預處理,編譯,匯編,鏈接,運行過程截圖,要全屏,包含自己的學號信息
運行結果
測試4-靜態庫的測試
- 除了main.c外,其他4個模塊(add.c sub.c mul.c div.c)的源代碼不想給別人,如何制作一個mymath.a靜態庫?main.c如何使用mymath.a?
- 提交靜態庫生成和調用過程截圖(一定包含條件斷點的),要全屏,包含自己的學號信息
相關知識 - 創建靜態庫,需要用到AR工具,命令如下:
gcc -c xxx.c
ar rcs xxxxx.a xxx.o xxx2.o
-其中后綴.a的文件是存檔文件,是靜態庫。建立一個mymath19靜態庫,把add.o、sub.o、mul.o、div.o復制進這個靜態庫 gcc -static -o prog test.o ./xxxxx.a
- static告訴編譯器驅動程序,鏈接器應該構成一個完全鏈接的可執行目標文件,prog是目標輸出文件夾,./是指在當前路徑下的xxxxx.a靜態庫.
運行結果
測試5-共享庫
- 除了main.c外,其他4個模塊(add.c sub.c mul.c div.c)的源代碼不想給別人,如何制作一個mymath.so共享庫?main.c如何使用mymath.so?
- 提交共享庫生成和調用過程截圖(一定包含條件斷點的),要全屏,包含自己的學號信息
步驟:
生成一個動態庫-->動態庫的鏈接-->生成可執行文件
1.gcc -shared -fpic -o mymath.so add.c sub.c mul.c div.c
2.gcc -o suanshud main.c ./mymath.so
3../suanshud
運行結果
Myod
1 復習c文件處理內容
2 編寫myod.c 用myod XXX實現Linux下od -tx -tc XXX的功能
-
main與其他分開,制作靜態庫和動態庫
-
編寫Makefile
5 提交測試代碼和運行結果截圖, 提交調試過程截圖,要全屏,包含自己的學號信息
- od命令格式
od [<選項><參數>] [<文件名>]
- 以十六進制輸出,默認以四字節為一組(一列)顯示。
od -tx XX
、每列輸出一字節od -tx1 XX