20155319 2017-2018-1《信息安全系統設計》第四周課堂測試、Makefile、myod


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的功能

  1. main與其他分開,制作靜態庫和動態庫

  2. 編寫Makefile

5 提交測試代碼和運行結果截圖, 提交調試過程截圖,要全屏,包含自己的學號信息

  • od命令格式od [<選項><參數>] [<文件名>]
  • 以十六進制輸出,默認以四字節為一組(一列)顯示。od -tx XX、每列輸出一字節od -tx1 XX


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM