日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

2018-2019-1 20165221 《信息安全系统设计基础》第一周学习总结

發(fā)布時間:2025/3/15 windows 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2018-2019-1 20165221 《信息安全系统设计基础》第一周学习总结 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

2018-2019-1 20165221 《信息安全系統(tǒng)設(shè)計基礎(chǔ)》第一周學(xué)習(xí)總結(jié)

教材學(xué)習(xí)總結(jié)

有關(guān)vim

  • 打開方式:vim [文件名]
  • 按i會進入insert模式,可以對代碼進行編輯
  • 按Esc會進入普通模式,此時可以使用快捷鍵進行編輯,編輯方式為:

    指令對應(yīng)操作
    h向左移動光標(biāo)
    l向右移動光標(biāo)
    j向下移動光標(biāo)
    k向上移動光標(biāo)
    w移動到下一個單詞
  • vim的退出與保存

保存并退出不保存并退出
:wq+回車鍵Esc+q!
Esc+Shift+zz

有關(guān)gcc

  • 明白編譯過程
文本類型作何處理所用的gcc指令(當(dāng)前文件類型指向待生成類型
hello.c源程序預(yù)處理(cpp)gcc -E hello.c -o hello.i
hello.i修改過的源程序編譯處理(ccl)gcc -S hello.i -o hello.s
hello.s匯編程序匯編處理(as)gcc -c hello.s -o hello.o
hello.o可重定位的二進制目標(biāo)程序鏈接(ld)

最終得到可執(zhí)行的二進制目標(biāo)程序hello

具體題目操作

題目一:vi

  • 每個.c一個文件,每個.h一個文件,文件名中最好有自己的學(xué)號
  • 用Vi輸入圖中代碼,并用gcc編譯通過
  • 在Vi中使用K查找printf的幫助文檔
  • 提交vi編輯過程截圖,要全屏,包含自己的學(xué)號信息

操作前準(zhǔn)備:

  • 將頭文件放在如下地址:

  • 文件脈絡(luò)圖:

  • 將.c文件放在src中

    具體操作:

    鍵入的指令:gcc -I/home/tx20165221/gcc.include

選擇生成靜態(tài)庫

鍵入指令運行結(jié)果
gcc -c -I/home/tx20165221/gcc.include add.c sub.c mul.c div.c生成.o文件
ar rcvs libmath.a add.o sub.o mul.o div.o生成靜態(tài)庫
gcc main.c -omain -I/home/tx20165221/gcc.include -L. -lmath生成可執(zhí)行文件main
./main運行文件

運行結(jié)果截圖

遇到的問題

  • 問題一:找不到頭文件的位置
  • 問題一解決辦法:在后臺找到頭文件,右鍵查看其屬性

  • 問題二:編譯運行失敗
  • 問題而解決方法:輸入指令 gcc main.c -omain -I/home/tx20165221/gcc.include -L. -lmath漏掉了了L后的.

題目二:gcc測試

  • 用gcc 進行預(yù)處理,編譯,匯編,鏈接vi輸入的代碼
  • 生成的可執(zhí)行文件中要有自己的學(xué)號
  • 提交預(yù)處理,編譯,匯編,鏈接,運行過程截圖,要全屏,包含自己的學(xué)號信息

具體操作

文本類型作何處理所用的gcc指令(當(dāng)前文件類型指向待生成類型
hello.c源程序預(yù)處理(cpp)gcc -E main.c -o main.i
main.i修改過的源程序編譯處理(ccl)gcc -S main.i -o main.s
main.s匯編程序匯編處理(as)gcc -c main.s -o main.o
main.o可重定位的二進制目標(biāo)程序鏈接(ld)

鍵入./main運行

運行結(jié)果截圖:

  • .o文件

  • 最終運行截圖

題目三:gdb測試

  • 用gcc -g編譯vi輸入的代碼
  • 在main函數(shù)中設(shè)置一個行斷點
  • 在main函數(shù)增加一個空循環(huán),循環(huán)次數(shù)為自己學(xué)號后4位,設(shè)置一個約為學(xué)號一半的條件斷點
  • 提交調(diào)試過程截圖(一定包含條件斷點的),要全屏,包含自己的學(xué)號信息

    具體操作:

    設(shè)置斷點
  • 函數(shù):b 文件名.c:函數(shù)名
  • 行:b 行數(shù)
  • 條件:b 行數(shù) if 表達式(例如:b 9 if == 12)
  • 臨時:tb [文件名:]行號或函數(shù)名 <條件表達式>

實踐過程

  • gcc -g *.c -o main
  • gdb main
  • b main
  • b 6 if i==5221
  • info break
  • r
  • q

    運行截圖:

題目四:靜態(tài)庫的測試

  • 除了main.c外,其他4個模塊(add.c sub.c mul.c div.c)的源代碼不想給別人,如何制作一個mymath.a靜態(tài)庫?main.c如何使用mymath.a?
  • 提交靜態(tài)庫生成和調(diào)用過程截圖(一定包含條件斷點的),要全屏,包含自己的學(xué)號信息

實踐過程

  • ar cr math.a add.o sub.o mul.o div.o
  • gcc main.c ./math.a -o main

運行截圖:

題目五:共享庫

  • 除了main.c外,其他4個模塊(add.c sub.c mul.c div.c)的源代碼不想給別人,如何制作一個mymath.so共享庫?main.c如何使用mymath.so?
  • 提交共享庫生成和調(diào)用過程截圖(一定包含條件斷點的),要全屏,包含自己的學(xué)號信息

具體操作

共享庫的生成:

  • gcc -fPIC -c xxx.c
  • gcc -shared -o libxxx.so xxx.o;

共享庫的使用

  • gcc -o main main.c -L. -lxxx
實際操作:
  • 生成:
    gcc -fPIC -c add.c sub.c mul.c div.c

gcc -shared -o libmymath.so add.o sub.o mul.o div.o

使用:gcc -o main main.c -L. -lmymath

運行截圖:

題目六:Makefile

  • 寫出編譯上面vi編輯代碼的makefile,編譯出來的目標(biāo)文件為testmymath, 只用顯式規(guī)則就可以.

  • 提交Make過程截圖,要全屏,包含自己的學(xué)號信息

    具體操作

    makefile文件編寫規(guī)則:
  • 目標(biāo)文件 :由make創(chuàng)建,通常是目標(biāo)文件或可執(zhí)行文件

  • 依賴文件 :創(chuàng)建目標(biāo)體所依賴的文件

  • 運行命令 :創(chuàng)建每個目標(biāo)體時需要的運行命令,必須以tab鍵開頭,格式為:目標(biāo)文件:依賴文件列表 [tab鍵]各目標(biāo)體運行命令(注意不是空格)

  • 使用make的格式:make目標(biāo)文件

實際操作:
  • 輸入vim Makefile,輸入i進入編輯模式,輸入代碼并保存
  • 輸入 make, 進行自動化編譯
  • 執(zhí)行 ./testmymath 查看結(jié)果
  • 運行結(jié)果和編寫的makefile截圖:

代碼統(tǒng)計

  • 上學(xué)期的statistics.sh被自己刪了,在網(wǎng)上查找代碼統(tǒng)計方法,鍵入sudo apt-get install cloc下載安裝,即可。

轉(zhuǎn)載于:https://www.cnblogs.com/0630tx/p/9692235.html

總結(jié)

以上是生活随笔為你收集整理的2018-2019-1 20165221 《信息安全系统设计基础》第一周学习总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。